【发布时间】:2011-07-14 13:48:13
【问题描述】:
我在通过HttpWebRequest 将二进制数据发布到服务器时遇到问题。这是我的客户端代码:
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.UserAgent = RequestUserAgent;
request.ContentType = "application/x-www-form-urlencoded";
var responseStr = "";
var dataStr = Convert.ToBase64String(data);
var postData = Encoding.UTF8.GetBytes(
string.Format("uploadid={0}&chunknum={1}&data={2}", uploadId, chunkNum, dataStr));
using (var dataStream = request.GetRequestStream())
{
dataStream.Write(postData, 0, postData.Length);
dataStream.Close();
}
然后我想通过 MVC 控制器处理请求,这是它的签名:
public ActionResult UploadChunk(Guid? uploadID, int? chunkNum, byte[] data)
但是我这里有错误,说数据不是Base64编码的数组,我做错了什么?
【问题讨论】:
-
确切的异常消息和堆栈跟踪是什么?
-
这里是堆栈跟踪部分 - System.Convert.FromBase64String(String s) - System.Web.Mvc.ByteArrayModelBinder.BindModel(ControllerContext
-
异常信息已本地化
标签: c# asp.net-mvc binary http-post