C# 如何从asp.net应用程序生成带有文件上载和其他字段的POST请求?
有人可以给我一个简短的例子,如何上传一个文件和发送多个文本字段在一个单一的POST请求从ASP.NET应用程序 例如,从我在内部服务器上运行的asp.net应用程序中,我想使用POST请求将一个文件以及两个文本字段(例如名称、日期)上载到另一台服务器。我认为我需要使用WebClient,但我不太确定如何在一个请求中将多个字段与文件上载结合起来C# 如何从asp.net应用程序生成带有文件上载和其他字段的POST请求?,c#,asp.net,C#,Asp.net,有人可以给我一个简短的例子,如何上传一个文件和发送多个文本字段在一个单一的POST请求从ASP.NET应用程序 例如,从我在内部服务器上运行的asp.net应用程序中,我想使用POST请求将一个文件以及两个文本字段(例如名称、日期)上载到另一台服务器。我认为我需要使用WebClient,但我不太确定如何在一个请求中将多个字段与文件上载结合起来 谢谢。一个好的AJAX选项是发送一个对象(注意:与IE
谢谢。一个好的AJAX选项是发送一个对象(注意:与IE<10不兼容),然后您可以将其发布到您的.NET后端,一个 //初始化表单数据的新实例 var uploadData=new FormData() 在后端
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...
}
有道理吗?希望这有帮助,是一个好的开始 谢谢你的回复。然而,这并不是我想要的。我想从服务器端的ASP.NET应用程序中执行您的Ajax示例。我怀疑我需要像使用Ajax XMLHttpRequest一样使用HttpRequest。也就是说,如果我能将您的Ajax示例翻译成C#/ASP.NET服务器代码,我就可以了。
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...
}