C# 使用HttpWebRequest上载带有PUT的文件
我如何使用HttpWebRequest执行PUT请求以上载文件,同时知道我希望通过同一请求传递其他信息 我要传递给请求的对象:C# 使用HttpWebRequest上载带有PUT的文件,c#,httpwebrequest,C#,Httpwebrequest,我如何使用HttpWebRequest执行PUT请求以上载文件,同时知道我希望通过同一请求传递其他信息 我要传递给请求的对象: public class product { public int Id { get; set; } public string Name { get; set; } public string DescriptionFilePath { get; set; } } 请求URL: 谢谢大家! 试试看
public class product
{
public int Id { get; set; }
public string Name { get; set; }
public string DescriptionFilePath { get; set; }
}
请求URL:
谢谢大家! 试试看
public HttpWebResponse SendRequest(Product product){
//create the request with the url
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://api.mydomain.com/upload");
//set the put method
request.method = "PUT";
//serialize the product
JavascriptSerializer serializer = new JavascriptSerializer();
var body = serializer.Setialize(product);
//write the serialized product to the request
using(StreamWriter writer = new StreamWriter(request.GetRequestStream())){
writer.write(body);
}
//execute the request and return the response
return (HttpWebResponse) request.getResponse();
}
发送请求。
如果需要检索响应数据
public string RetrieveResponseData(HttpWebResponse response){
var result;
using StreamReader reader = new StreamReader(response.GetResponseStream()){
result = reader.ReadToEnd();
}
return result;
}
上传文件部分在哪里?文件的路径位于DescriptionFilePath属性中。文件内容也必须转换为字节?只要在将其传递给SendRequest函数之前设置值,它就应该位于产品内部。这里的第一个函数:SendRequest获取一个产品对象,然后将其序列化以与请求一起发送,传递给该函数的产品对象内的所有信息都将在请求中发送。