永发信息网

如何接收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
全部回答
  • 1楼网友:迷人又混蛋
  • 2021-02-10 18:54
可以私聊我~
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯