使用FireFox使用jquery和http处理程序时未找到文件
下面的代码用于将文件复制到目录中,但我继续得到一个异常“C:\Program Files(x86)\Common Files\Microsoft Shared\DevServer\10.0\abc.jpg”文件未找到错误。谢谢你的帮助和建议。我正在Windows7机器上使用VS2010、jQuery 1.8.1(min)、IIS7。我的webconfig中的和元素中都有FileUpload.ashx 此问题仅在使用FireFox时出现。 HTML标记使用FireFox使用jquery和http处理程序时未找到文件,jquery,asp.net,ihttphandler,Jquery,Asp.net,Ihttphandler,下面的代码用于将文件复制到目录中,但我继续得到一个异常“C:\Program Files(x86)\Common Files\Microsoft Shared\DevServer\10.0\abc.jpg”文件未找到错误。谢谢你的帮助和建议。我正在Windows7机器上使用VS2010、jQuery 1.8.1(min)、IIS7。我的webconfig中的和元素中都有FileUpload.ashx 此问题仅在使用FireFox时出现。 HTML标记 var FileName = nul
var FileName = null;
$.ajax({ type: "POST",
url: "FileUpload.ashx",
data: { FileName: FileName },
async: true,
success: function (data) {
alert("Success");
}
},
error: function (data) {
alert("Error");
}
});
});
function setFileName(e) {
FileName = e.value;
}
文件上传的代码隐藏
public void ProcessRequest(HttpContext context)
{
try
{
String FileID = Guid.NewGuid().ToString();
String sDirectory = "~/UploadedFiles/";
String sFileName = context.Request["FileName"];
String sUploadPath = String.Format("{0}/{1}", sDirectory, sFileName);
sUploadPath = context.Server.MapPath(sUploadPath);
string FileName = context.Request["FileName"];
FileInfo fn = new FileInfo(FileName);
fn.CopyTo(sUploadPath + FileID + "_" + fn.Name);
}
catch (Exception ex)
{
string message = ex.Message;
}
}
您的AJAX调用只是发送一个文件名,而不是文件本身。谢谢Barmar。我正在使用asp.net中的FileUpload控件上传文件。是的,你是对的。FF发送的唯一内容是文件名。然而,在IE中,我注意到路径和文件名被传递。