gpt4 book ai didi

javascript - 当项目部署到暂存时,System.IO.FileNotFoundException 在本地工作正常

转载 作者:行者123 更新时间:2023-12-03 06:47:43 25 4
gpt4 key购买 nike

我们目前正在通过 javascript 将照片上传到 WebMethod,一切在本地都运行得很好。

然而,当我将其部署到暂存时,我们收到以下异常:System.IO.FileNotFoundException 我们的 javascript 方法如下:

   var formData = new FormData();
formData.append('file', $('#photo')[0].files[0]); // Image
formData.append('c', i);
formData.append('t', t);
formData.append('i', uuid);

$.ajax({
url: "/member/myserice/test.asmx/UploadImage",
type: "POST",
processData: false,
contentType: false,
data: formData,
success: function (response) {
alert('success');
},
error: function (er) {
alert('Unable to upload photo at this time, please try again later');
}
});

现在,如您所见,我们将上传的图像存储在 formData 中(第一个参数)

我们的WebMethod如下:

  public string UploadImage()
{

var httpRequest = HttpContext.Current.Request;

var timestamp = httpRequest.Form["t"];
var consumerId = httpRequest.Form["c"];
var guid = httpRequest.Form["i"];
var pic = System.Web.HttpContext.Current.Request.Files["file"];

string fileName = Path.GetFileName(pic.FileName); // Breaks here when deployed to staging

var img = System.Drawing.Image.FromFile(pic.FileName);

//Removed additional code as it calls an external API.

}

现在,正如之前提到的,这在本地工作得很好,但是当部署到暂存时,我在以下行中收到异常 System.IO.FileNotFoundException :

  string fileName = Path.GetFileName(pic.FileName);

现在,我尝试在网上搜索给定的解决方案或详细解释原因以及如何修复,但无济于事,有人可以阐明如果需要的话我需要进行更改才能使其正常运行。

提前致谢。

最佳答案

这在本地有效,因为客户端和服务器都使用相同的文件系统,并且 $('#photo')[0].files[0] 的路径指向服务器上的同一文件。您不应该尝试从服务器端的文件系统读取文件,而应使用 HttpContext 中的文件流

<小时/>

而不是

    var pic = System.Web.HttpContext.Current.Request.Files["file"];
string fileName = Path.GetFileName(pic.FileName); // Breaks here when deployed to staging
var img = System.Drawing.Image.FromFile(pic.FileName);

使用客户端上传的文件流:

var pic = System.Web.HttpContext.Current.Request.Files["file"];
var img = System.Drawing.Image.FromStream(pic.InputStream);

关于javascript - 当项目部署到暂存时,System.IO.FileNotFoundException 在本地工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37650436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com