Как проверить, существует ли файл по указанному URL в type script?

#javascript #reactjs #typescript #blob

#javascript #reactjs #typescript #blob

Вопрос:

Привет, я работаю в приложении react. Я извлекаю набор файлов из azure blob и загружаю файлы. Я могу это сделать. Я проверяю, существует ли файл или нет перед загрузкой.

 

 const containerURLContainerURL = new ContainerURL( url,                 
                           StorageURL.newPipeline(new AnonymousCredential()));             
                           const listBlobsResponse = await containerURL.listBlobFlatSegment(Aborter.none, marker);      
                           const blockBlobURL = BlockBlobURL.fromContainerURL(containerURL,reporthPath);
   // here want to check if specified file exist or not
   const link = document.createElement('a');           
                         link.href = blockBlobURL.url;     
                        window.open(link.href, "_blank")
  

может кто-нибудь мне помочь, как я могу проверить, существует ли blob или нет. любая помощь будет оценена. Спасибо

Комментарии:

1. specified file что такое указанный файл? указывает ли URL указанный файл? если выделенный файл не существует, не возникнет ли у вас состояние ошибки при попытке создать большой двоичный объект?

2. указанный файл — это не что иное, как blobkbloburl.url. если файл не найден, я получаю сообщение об ошибке из самого хранилища Azure, указанный большой двоичный объект не существует. Идентификатор запроса: b6579557-101e-00d7-23bd-8c6d71000000 Время: 2020-09-17T06:38:45.0351525Z но я хочу проверить, прежде чем появится ошибка сервера

3. Я бы не стал заранее проверять, существует ли файл, я бы просто запустил операцию чтения и справился с ошибкой. Во-первых, всегда есть (предположительно небольшая) вероятность того, что файл может существовать (или не существовать) на момент проверки существования, но затем больше не существует (или не создается), когда вы бы начали операцию чтения. В общем, «проверьте наличие файла, а затем попробуйте его прочитать» — это что-то вроде антипаттерна.

4. @MrPerfect — «но я хочу протестировать до появления ошибки сервера» Почему?

5. Просто оберните его обработчиком ошибок