我已将我的 asp.net Web 项目转换为云服务。当我在本地机器上编译它时,它工作正常。但是当我将它部署在 Windows Azure 上并以 *.cloudapp.net 运行时,它会显示以下错误。它不会上传或下载任何文件。任何帮助将不胜感激。谢谢!
错误: “/”应用程序中的“服务器错误”。
找不到文件“E:\approot\uploads\129517348374782571”。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.IO.FileNotFoundException:找不到文件“E:\approot\uploads\129517348374782571”。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[FileNotFoundException: 找不到文件 'E:\approot\uploads\129517348374782571'。] System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +12892807 System.IO.FileInfo.get_Length() +12550108 EsraSon2.CourseList。 gvPaths_SelectedIndexChanged(Object sender, EventArgs e) 在 C:\Users\canosum\documents\visual studio 2010\Projects\EsraSon2\EsraSon2\CourseList.aspx.cs:78 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean CauseValidation, String validationGroup) +1203 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691 `
上传代码:
string temp = DateTime.Now.ToFileTime().ToString();
FileUpload1.PostedFile.SaveAs(Server.MapPath("uploads") +"\\"+ temp);
BLLFileUpload m_helper = new BLLFileUpload();
DateTime date = DateTime.Now;
m_helper.InsertUploadFiletoDB(temp, FileUpload1.FileName, date, 1, Convert.ToInt32(gvSemesters.SelectedRow.Cells[7].Text));
下载代码:
BLLFileUpload m_helper = new BLLFileUpload();
string tempname = m_helper.getFileRealName(gvPaths.SelectedRow.Cells[2].Text);
string fName = Server.MapPath("uploads")+ "\\" + tempname;
FileInfo fi = new FileInfo(fName);
long sz = fi.Length;
Response.ClearContent();
Response.AddHeader("Content-Disposition", string.Format("attachment; filename = {0}", gvPaths.SelectedRow.Cells[3].Text));
Response.AddHeader("Content-Length", sz.ToString("F0"));
Response.TransmitFile(fName);
Response.End();