如何接收https 的multipartentitybuilder.addbinarybody参数
答案:2 悬赏:60 手机版
解决时间 2021-02-11 17:16
- 提问者网友:酱爆肉
- 2021-02-10 17:21
如何接收https 的multipartentitybuilder.addbinarybody参数
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-10 18:35
参考: Android to WCF: Streaming multi part binary images
WCF收到的数据也包括了MIME头。所以WCF收到的长度大于啊Android发送的长度,因为MIME头信息还是有规律的,就是最后"Content-Transfer-Encoding: binary\r\n\r\n",所以解析数据的时候,从这些字符后开始。
C# code?12345678910111213141516171819202122232425 internal static byte[] GetBytesFromStream(Stream stream, System.Text.Encoding encoding) { // Read the stream into a byte array byte[] data = ToByteArray(stream); List dataList = new List(); // Copy to a string for header parsing string content = encoding.GetString(data); string matchValue = "Content-Transfer-Encoding: binary\r\n\r\n"; int lastIndex = content.LastIndexOf(matchValue); int startingIndex = lastIndex + matchValue.Length; byte[] bytes = encoding.GetBytes(content.Substring(0, startingIndex - 1)); int bytesLength = bytes.Length; for (int i = bytesLength + 1; i < data.Length; i++) { dataList.Add(data[i]); } return dataList.ToArray(); }
还有一种是使用MultipartParser
参考:
Reading file input from a multipart/form-data POST
C# code?12345678910 public void Upload(Stream stream) { MultipartParser parser = new MultipartParser(stream); if (parser.Success) { // Save the file SaveFile(parser.Filename, parser.ContentType, parser.FileContents); } }
使用 WCF 实现 RESTful 方式的 WebService
WCF收到的数据也包括了MIME头。所以WCF收到的长度大于啊Android发送的长度,因为MIME头信息还是有规律的,就是最后"Content-Transfer-Encoding: binary\r\n\r\n",所以解析数据的时候,从这些字符后开始。
C# code?12345678910111213141516171819202122232425 internal static byte[] GetBytesFromStream(Stream stream, System.Text.Encoding encoding) { // Read the stream into a byte array byte[] data = ToByteArray(stream); List
还有一种是使用MultipartParser
参考:
Reading file input from a multipart/form-data POST
C# code?12345678910 public void Upload(Stream stream) { MultipartParser parser = new MultipartParser(stream); if (parser.Success) { // Save the file SaveFile(parser.Filename, parser.ContentType, parser.FileContents); } }
使用 WCF 实现 RESTful 方式的 WebService
全部回答
- 1楼网友:迷人又混蛋
- 2021-02-10 18:54
可以私聊我~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯