【问题标题】:Retrieving .docx files检索 .docx 文件
【发布时间】:2012-02-01 00:27:51
【问题描述】:

我的问题很简单,但我还没有找到解决方案。我有一个文件夹,其中包含以 pdf、doc 和 docx 格式存储的上传简历。管理后端页面显示每个用户的简历链接。如果单击 pdf 或 doc 的链接,则下载/打开文件,但如果单击 docx 的链接,则会显示 404 错误页面,并且如果您将文件保存到桌面并打开 word 表示它已损坏并且无法被打开。所有文件都可以在网络服务器上打开。

而不是使用代码下载文件,我的链接看起来像:http://www.site.com/test/resume/John_Doe_Resume.docx

我确信有一个简单的解决方法。有没有其他人遇到过这个问题?

【问题讨论】:

  • 您可以将代码发布到为您的 docx 文件提供服务的函数中吗?
  • 假设文档是好的,你有 MS-Word 或(阅读器)兼容的版本吗?你在 IE 上试过吗?
  • 看起来像配置问题...确保您没有为 IIS 中的 .docx 扩展配置特殊处理程序
  • 可能重复这个:stackoverflow.com/questions/2477564/… 检查是否有帮助。
  • 它们只是指向存储在文件夹中的文件的链接。我遇到了某些文件类型无法使用二进制写入正确下载的问题,我被告知仅链接到文件是最简单的方法。

标签: c# .net html


【解决方案1】:

确保 .docx 已在 IIS 的 MIME 类型列表中设置:

Configure MIME Types (IIS 6.0)

如果 IIS(也为 7)不知道与文件扩展名对应的 MIME 类型,它将给出 404 错误。如果不存在(并且在 IIS 6 中默认不存在),请添加 MIME 类型为

的 .docx
application/vnd.openxmlformats-officedocument.wordprocessingml.document

【讨论】:

  • 实际上并没有在 IIS 中设置。我将它添加到 MIME 类型中,类型为 application/msword。它仍然给出 404。我是 IIS 新手,可能缺少一步
  • MIME 类型不应导致 404 错误。还有其他问题。
  • IIS 可能需要重新启动。请注意,这将删除所有连接等,因此不要在生产服务器上“只做”。从 MSDN(自从我接触 IIS 6 很久以来):在 IIS 管理器中,右键单击本地计算机,指向 所有任务,然后单击 重新启动 IIS。在 您希望 IIS 做什么 列表中,单击在 computername 上重新启动 Internet 服务。
  • IIS 上缺少 MIME 类型总是会导致 404 错误。见here(好吧,正如它所说,除非你关闭“已知扩展”,你不应该这样做)
  • 我会尝试重新启动 IIS,看看是否可以。如果它改变了事情,我会告诉你的。
【解决方案2】:

我敢打赌,该框架将 .docx 扩展名视为一种可执行文件;代码或 IIS 正在尝试执行它,但失败了。

检查您的 IIS 配置以获取要执行的文件扩展名、您的 web.config 和/或应用程序的路由表,我敢打赌答案就在其中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多