Asp.net mvc 将文件保存到App#u数据不会';当应用程序被上传到Azure时,它似乎不起作用

Asp.net mvc 将文件保存到App#u数据不会';当应用程序被上传到Azure时,它似乎不起作用,asp.net-mvc,azure,sendgrid,Asp.net Mvc,Azure,Sendgrid,我有一个小型MVC5应用程序,关键是它在我的本地主机上运行良好,但当我将其发布到Azure时,某些部分不起作用。例如,我的观点是: <div class="form-group"> <div style="position:relative;"> <label>Image</label> <a class="btn" href="javascript:;">

我有一个小型MVC5应用程序,关键是它在我的本地主机上运行良好,但当我将其发布到Azure时,某些部分不起作用。例如,我的观点是:

<div class="form-group">
       <div style="position:relative;">
            <label>Image</label>
            <a class="btn" href="javascript:;">
            Choose a file...
            <input type="file" name="Image" accept="image/jpeg, image/png"
                      style="position:absolute;z-index:2;top:0;left:0;filter: alpha(opacity=0); opacity:0;background-color:transparent;color:transparent;"
                       onchange='$("#upload-image-info").html($(this).val());' />
           </a>
           <span class="label label-info" id="upload-image-info"></span>
       </div>
</div>
请注意,我省略了上面代码的一些部分,以便更清楚地说明我想做什么。关键是在我的本地主机上,它工作正常,我可以选择一个文件,上传后通过电子邮件发送。但是,当我在Azure上发布网站并尝试同样的事情时,当我按下按钮时,它似乎正在上载文件,但之后我收到一条错误消息,说:

错误。处理您的请求时出错


我不知道它是否无法将文件存储在服务器上,或者无法在以后读取这些文件作为附件,或者无法发送邮件。知道问题出在哪里吗?

我连接到FTP服务器并手动创建文件夹,工作正常。

Azure是一个云平台。当您部署到其中一个azure服务器时,您不能保证它将保留在同一服务器上。如果文件不是发布包的一部分,例如用户将文件上载到您的站点,则如果您的站点移动到另一台服务器,该文件可以/可能/将被删除。所有这些都意味着,你真的应该使用Azure Blob存储来保存上传到你网站的文件,因为本地存储不是永久性的。更多信息-您可以使用
Directory.CreateDirectory(HostingEnvironment.MapPath(@)/App\u Data/)
以便在目录不存在时创建该目录
    public ActionResult ServiceRequest(RequestViewModel rvm, HttpPostedFileBase image = null, HttpPostedFileBase video = null)
    {
        tmpPicturePath = Server.MapPath("~/App_Data/Uploads/Images");
        tmpVideoPath = Server.MapPath("~/App_Data/Uploads/Videos");

        // I check for some properties, and then save the file
        filename = Path.GetFileName(image.FileName);
        imagePath = Path.Combine(tmpPicturePath, filename);
        image.SaveAs(imagePath);

        // Afterwards, I give the imagePath to SendGrid for attachment to a mail
        message.AddAttachment(imagePath);

        // And later in code, I send the mail
        transportWeb.Deliver(message);
     }