如何接收https 的multipartentitybuilder.addbinarybody参数ws

我想请分析下,如何接收https 的multipartentitybuilder.addbinarybody参数ws
最新回答
醒来后我哭笑

2024-06-04 01:08:13

  参考: 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<byte> dataList = new List<byte>(); // 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