有人可以给我一个简短的例子,说明如何在ASP.NET应用程序的单个POST请求中上传文件和发送多个文本字段吗?
例如,在我在内部服务器上运行的asp.net应用程序中,我想使用POST请求将文件和2个文本字段(例如名称,日期)上传到另一台服务器。我认为我需要使用WebClient,但我不太确定如何在单个请求中将多个字段与文件上传相结合。
感谢。
答案 0 :(得分:1)
一个好的AJAX选项是发送一个FormData对象(注意:与IE< 10不兼容),然后你可以发布到你的.NET后端,一个...
//初始化表单数据的新实例 var uploadData = new FormData();
//Get parameters
uploadData.append("ID", eID);
uploadData.append("adPhoto", theImage);
uploadData.append("field2", field2);
//Make AJAX call
var xhr = new XMLHttpRequest();
xhr.open("POST", Defaults.PhotoUploadService);
xhr.send(uploadData);
在后端......
public static void UploadFile() {
int ID = Context.Request.Params["ID"];
string field = Convert.ToInt32(Context.Request.Params["field"]);
//Get your photo here
byte[] fileData = null;
HttpPostedFile postedFile = Context.Request.Files["adPhoto"];
using (var binaryReader = new BinaryReader(postedFile.InputStream))
{
fileData = binaryReader.ReadBytes(Context.Request.Files[0].ContentLength);
}
// Do whatever you have to do at this point...
}
有道理吗?希望有所帮助并且是一个良好的开端!