如何解决ajax 上传图片错误 C://fakepath
嗨,亲爱的,我在从 ajax 保存数据时遇到问题
这是我的html代码
<form id="form1" runat="server" enctype="multipart/form-data">
<div>
<input type="file" name="fuUpload" id="fuUpload" multiple="multiple" />
<input name="txtName" type="text" id="txtName" />
<input type="submit" name="btnSave" value="Save" id="btnSave" />
</div>
</form>
和我的 jquery 代码
$(function () {
$('#btnSave').on("click",function () {
var files = new Array();
for (var i = 0; i < $("#fuUpload").prop("files").length; i++) {
var file = {};
file.Name = $("#fuUpload").prop("files")[i].name;
file.Path = $("#fuUpload").val().split(',')[i];
files.push(file);
}
var name = $('#txtName').val();
$.ajax({
type: 'POST',url: "WebForm1.aspx/Save",data: '{files:' + JSON.stringify(files) + ',name:"' + name + '"}',contentType: 'application/json; charset=utf-8',dataType: 'json',success: function (r) {
alert(r.d);
},error: function (r) {
alert(r.responseText);
}
})
return false;
});
});
在服务器端
[System.Web.Services.WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public static void Save(List<FileDetails> files,string name)
{
for (int i = 0; i < files.Count; i++)
{
FileStream stream = new FileStream(files[i].Path,FileMode.Open);
var fileStream = new FileStream(HttpContext.Current.Server.MapPath("~/Files/" + files[i].Name),FileMode.Create,FileAccess.Write);
stream.CopyTo(fileStream);
fileStream.Dispose();
SaveDetails(name,HttpContext.Current.Server.MapPath("~/Files/" + files[i].Name),files[i].Name);
}
}
我有这个错误:对于这一行 FileStream stream = new FileStream(files[i].Path,FileMode.Open); 错误:[System.IO.DirectoryNotFoundException:'找不到路径'C:\fakepath\pp.jpg'的一部分。'] 1 System.IO.DirectoryNotFoundException: '找不到路径 'C:\fakepath\pp.jpg' 的一部分。'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。