ASP.NET WebForms:为什么我不能下载通过我的应用程序上传的某些文件?

时间:2012-08-22 13:04:26

标签: asp.net file-upload

我有一个简单的asp:FileUpload控件,可以将文件保存到服务器。它将文件保存到磁盘,然后在数据库中创建对它的路径引用。我们使用此标记在DataGrid中显示这些文件:

<ItemTemplate>
    <a href='<%# MyApp.Global_asax.UploadPath + DataBinder.Eval(Container.DataItem, "FolderName") + "/" +  DataBinder.Eval(Container.DataItem, "FileName") %>' target="_blank">
        <%# DataBinder.Eval(Container.DataItem, "FileName") %>
    </a>
</ItemTemplate>

所以,正如你所看到的,没什么特别的。但是,尝试下载某些文件会在IE9中生成此消息:

The page cannot be found
The page you are looking for might have been removed, had its name changed, or is temporarily unavailable. 

我在FireFox中收到类似的消息。

到目前为止,这只发生在.DOTM个文件中。我以为它可能是文件名,因此我将名称更改为xxx.dotm之类的简单名称,但仍然无法下载。当我将扩展名更改为TXT所以它是xxx.txt时,我可以正常下载该文件。

有人能够让我知道这里发生了什么吗?

1 个答案:

答案 0 :(得分:3)

您需要在IIS中为该文件扩展名添加MIME类型。

对于IIS 6.0:

http://support.microsoft.com/kb/326965

对于IIS 7.0:

http://technet.microsoft.com/en-us/library/cc725608(v=ws.10).aspx