Eu tive que adicionar um tipo MIME para o arquivo que eu quero servir.
Eu usei * para exibir tipos de arquivos desconhecidos como application / octet-stream.
Eu tenho um site ASP.net que permite aos usuários fazer upload de arquivos para uma pasta de upload no servidor. O site é servido pelo IIS 7.
Eu configurei a pasta de upload para não executar nenhum arquivo de script que seja solicitado, mas como posso configurar o IIS 7 para servir esses arquivos como faria com qualquer outro arquivo estático somente para esta pasta?
Obrigado
Aqui está o que eu tenho nos Mapeamentos do Manipulador da minha pasta de uploads:
Aqui está o web.config da pasta:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read">
<remove name="TRACEVerbHandler" />
<remove name="OPTIONSVerbHandler" />
<remove name="SimpleHandlerFactory-Integrated" />
<remove name="SSINC-shtml" />
<remove name="ScriptHandlerFactory" />
<remove name="SimpleHandlerFactory-ISAPI-2.0" />
<remove name="HttpRemotingHandlerFactory-soap-Integrated" />
<remove name="AXD-ISAPI-2.0" />
<remove name="ASPClassic" />
<remove name="AssemblyResourceLoader-Integrated" />
<remove name="HttpRemotingHandlerFactory-rem-Integrated" />
<remove name="PageHandlerFactory-Integrated" />
<remove name="ScriptResource" />
<remove name="SSINC-shtm" />
<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<remove name="SSINC-stm" />
<remove name="ISAPI-dll" />
<remove name="PageHandlerFactory-ISAPI-2.0" />
<remove name="ScriptHandlerFactoryAppServices" />
<remove name="SecurityCertificate" />
<remove name="TraceHandler-Integrated" />
<remove name="UrlRoutingHandler" />
<remove name="WebAdminHandler-Integrated" />
<remove name="MvcHttpHandler" />
<remove name="HttpRemotingHandlerFactory-soap-ISAPI-2.0" />
<remove name="HttpRemotingHandlerFactory-rem-ISAPI-2.0" />
<remove name="CGI-exe" />
</handlers>
</system.webServer>
</configuration>
E aqui está o que recebo se eu solicitar um arquivo aspx que está na minha pasta de upload:
Server Error 404 - File or directory not found. The resource you are looking for might have been removed, had its name changed, or is temporarily unavailable.
Eu tive que adicionar um tipo MIME para o arquivo que eu quero servir.
Eu usei * para exibir tipos de arquivos desconhecidos como application / octet-stream.
Você provavelmente deseja um arquivo web.config nesse diretório que desmarque todos os manipuladores e mapeie "*" para static:
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />