Служба приложений Azure .msg Файл сохранен в wwwroot с остальными файлами, но говорит, что файл не найден? - PullRequest
1 голос
/ 06 ноября 2019

Я сохраняю файл во временной папке в моем wwwroot, в моей службе приложений Azure.

Но когда я пытаюсь открыть или извлечь файл, он говорит, что файл не найден. Если я тестирую его на моей машине под локальным сервером, он работает. Он не будет работать в службах приложений Azure?

Это потому, что это MSG-файл?

Результат FileZilla & Web page

1 Ответ

0 голосов
/ 06 ноября 2019

Доступ к файлам вашего веб-приложения ограничен базовым веб-сервером, поэтому не из-за расширения. Вы можете включить анонимный доступ к каталогу, создав файл web.config в корневом каталоге приложения с содержимым, найденным в этом руководстве :

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <location path="{your-temp-directory}" allowOverride="false">
      <system.webServer>
         <directoryBrowse enabled="false"/>
         <defaultDocument>
            <files>
               <!-- When requesting a file listing, don't serve up the default 
               index.html file if it exists. -->
               <clear />
            </files>
         </defaultDocument>
         <security>
            <authorization>
               <!-- Allow all users access to the Public folder -->
               <remove users="*" roles="" verbs="" />
               <add accessType="Allow" users="*" roles="" />
            </authorization>
            <!-- Unblock all sourcecode related extensions (.cs, .aspx, .mdf)
             and files/folders (web.config, \bin) -->
            <requestFiltering>
               <hiddenSegments>
                  <clear />
               </hiddenSegments>
               <fileExtensions>
                  <clear />
               </fileExtensions>
            </requestFiltering>
         </security>
         <!-- Remove all ASP.NET file extension associations.
           Only include this if you have the ASP.NET feature installed, 
           otherwise this produces an Invalid configuration error. -->
         <handlers>
            <clear />
            <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
         </handlers>
         <!-- Map all extensions to the same MIME type, so all files can be
           downloaded. -->
         <staticContent>
            <clear />
            <mimeMap fileExtension="*" mimeType="application/octet-stream" />
         </staticContent>
      </system.webServer>
   </location>
</configuration>

Я изменил тег <directoryBrowse/>из найденного в руководстве, так как вы, вероятно, не хотите, чтобы список содержимого каталога. Естественно, {your-temp-directory} относится к файлу web.config. Перезапустите веб-приложение, и все будет хорошо.

...