我正在尝试通过WCF-REST服务上传MS-Excel文件。我使用了下面POST中给出的解决方案:- RESTful WCF service image upload problem我的POST方法声明为:
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = "/RFQ")]
[WebContentType("application/octet-stream")]
void UploadRFQDoc(Stream fileContents);当我调试时,流内容在调用之前是正常的,当我将服务附加到调试时,流fileContents参数变为空,并且服务返回Bad Request。我没有发送大文件(它只有50KB)。我正在使用HttpClient呼叫华盛顿邮报。以下是客户端代码(RestClient为HttpClient)。
protected void Post(string uri, Stream stream, int length)
{
var content = HttpContent.Create(output => CopyToStream(stream, output, length), "application/octet-stream", length);
Uri relativeUri = new Uri(uri, UriKind.Relative);
var resp = RestClient.Post(relativeUri, content);
ProcessResponse(resp);
}
void CopyToStream(Stream input, Stream output, int length)
{
var buffer = new byte[length];
var read = input.Read(buffer, 0, Convert.ToInt32 (length));
output.Write(buffer, 0, read);
}任何其他可能出错的线索。非常感谢。
发布于 2011-01-19 19:40:59
WebContentType(“应用程序/八位字节流”)属性在这里是不必要的。我把它注释掉了,一切都很好:)。
https://stackoverflow.com/questions/4725483
复制相似问题