将应用程序上载到Azure时,将文件保存到App_Data似乎不起作用

时间:2014-09-22 19:02:02

标签: asp.net-mvc azure sendgrid

我有一个小型MVC 5应用程序,关键是它在我的localhost中运行良好,但是当我将它发布到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>

那么,在我的服务器端,我有类似的东西:

    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);
     }

请注意,我省略了上面代码的某些部分,以便更清楚地说明我想要做什么。关键是在我的localhost中,它工作正常,我能够选择一个文件,上传后,通过电子邮件发送。但是,当我在Azure上发布网站并尝试相同的事情时,当我按下按钮时,似乎它正在上传文件,但之后我收到一条错误消息:

  

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

我不知道它是否无法将文件存储在服务器上,或者之后无法读取它们以进行附件,或者无法发送邮件。对问题可能有什么看法?

1 个答案:

答案 0 :(得分:0)

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