You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在IIS中出现System.IO.FileNotFoundException但Visual Studio本地运行正常

Word转.dat应用IIS部署后上传按钮报错问题

问题描述

  • 开发了一个将Word文件转换为.dat文件的应用,通过UploadController.cs处理文件上传与转换逻辑
  • Visual Studio本地运行正常,但发布到IIS后,点击对应上传按钮出现错误(错误截图:[IIS上的错误])

排查与解决步骤

  1. 检查IIS应用池权限

    • 确保应用池身份对上传目录、转换临时目录拥有读写权限。本地开发使用当前用户权限,而IIS默认应用池身份(如ApplicationPoolIdentity、Network Service)权限可能不足
    • 操作路径:右键目标网站→管理网站→高级设置,查看关联应用池;进入IIS应用池列表,找到对应池右键→高级设置,修改身份为具备足够权限的账号,或直接给目标目录添加应用池身份的读写权限
  2. 替换或确认转换依赖组件

    • 若使用Microsoft.Office.Interop.Word这类Office互操作组件,IIS服务器可能未安装对应版本Office,或组件未正确注册,这类组件在服务器环境兼容性极差
    • 建议替换为无需安装Office的开源组件,比如DocX,避免服务器环境的依赖问题
  3. 调整文件上传大小限制

    • IIS默认限制上传文件大小,超出会触发错误。在站点的web.config中添加或修改如下配置:
      <system.web>
        <httpRuntime maxRequestLength="1048576" /> <!-- 单位KB,此处设置为1GB -->
      </system.web>
      <system.webServer>
        <security>
          <requestFiltering>
            <requestLimits maxAllowedContentLength="1073741824" /> <!-- 单位字节,此处设置为1GB -->
          </requestFiltering>
        </security>
      </system.webServer>
      
  4. 查看详细错误日志

    • 打开IIS管理器,选中目标站点点击“日志”,查看最新日志文件,找到报错请求的错误代码与详细信息
    • 打开Windows事件查看器,查看“应用程序”日志,获取应用抛出的具体异常信息,精准定位代码问题
  5. 确认临时目录配置

    • 若应用使用临时目录存储上传的Word文件,需确保路径为绝对路径且IIS有权限访问,避免使用相对路径或本地开发时的用户专属目录(如C:\Users\XXX\Temp)

内容的提问来源于stack exchange,提问作者Swapnil Mahajan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:52:39