浏览到Azure网站上的文件上传失败(小文件)

时间:2015-06-30 22:59:34

标签: asp.net azure azure-web-sites

我可以在本地运行的网站上传一个.xlsx文件,但是在发布到Azure之后就是404。 ASP.Net/webforms; C#;

“您要查找的资源已被删除,名称已更改,或暂时无法使用。”

任何想法都会受到赞赏。

if (!this.FileUpload1.FileName.Equals("ActionFile.xlsx"))
{
    this.tbxAdminStatus.Text = "Missing input file ActionFile.xlsx";
    return;
}
else
{
    // Upload file
    fileLoc = Server.MapPath("~/Upload/" + his.FileUpload1.PostedFile.FileName);

    try
    {
         this.FileUpload1.PostedFile.SaveAs(fileLoc);
         this.tbxAdminStatus.Text = "File ActionFile.xlsx Uploaded";
    }
    catch (Exception ex)
    {
        Response.Write("Error: " + ex.Message);
    }
}

2 个答案:

答案 0 :(得分:0)

您是说当您直接从浏览器浏览.xslx文件时,即使该文件存在,您也会收到404错误?对于404,子状态代码确实有助于确定404返回的原因,因此您可能需要检查站点的IIS日志以查看子状态,并查看子状态代码是否与缺少的mime映射相对应(404.3)

如果404的子代码是3,那么你可以为excel扩展添加mimemap,如关于堆栈溢出Use SVG in Windows Azure Websites的类似文章中所述

有关详细信息,请参阅http://blogs.iis.net/tomkmvp/troubleshooting-a-404

答案 1 :(得分:0)

您需要为.xslx文件定义MimeType,让网络服务器通过http为其提供服务。

web.config添加这些行

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <staticContent>
      <remove fileExtension=".xlxs" />
      <mimeMap fileExtension=".xlxs" mimeType="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" />
    </staticContent> 
  </system.webServer>
</configuration>

MimeType值的来源:https://stackoverflow.com/a/4212908/3234163