我有一个简单的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
时,我可以正常下载该文件。
有人能够让我知道这里发生了什么吗?
答案 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