C#保存来自IOS发送的图片流

新手上路,请多包涵

在做一个IOS把图片上传到服务器的小功能
IOS用的是AFNETWORKing写的图片流上传,代码如下

 NSString *filename=@"test.jpg";
 AFHTTPRequestOperationManager *AFManager=[[AFHTTPRequestOperationManager            alloc]initWithBaseURL:[NSURL URLWithString:@FileTranUrl]];
 AFHTTPRequestOperation *operation=[AFManager POST:path parameters:nil constructingBodyWithBlock:^(id<AFMultipartFormData> formdata){[formdata appendPartWithFileData:imagedata name:name fileName:filename mimeType:@"image/jpeg"];} success:^(AFHTTPRequestOperation *operation, id responseObject) {
if (success) {
    success(operation,responseObject);
}
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
if (failure) {
    failure(operation,error);
}
}];

从代码中可以看出AFNetwork将图片数据,图片名称和该数据名称都传入了网络流中,我直接用C#直接将获得流保存的话生成的图片无法打开
C#主要代码

 using (targetStream = new FileStream(filePathAndName, FileMode.Create, FileAccess.Write, FileShare.None))
              {
                  const int bufferLen = 4096;
                  Byte[] buffer = new Byte[bufferLen];
                  int count = 0;

                  while ((count = sourceStream.Read(buffer, 0, bufferLen)) > 0)
                  {
                      targetStream.Write(buffer, 0, count);
                      filesize += count;
                  }
                  targetStream.Close();
                  sourceStream.Close();


              } 

我用Notepad++打开以文件流保存的这个文件,可以清楚的看到流的开头正是AFNetwork给发送的参数:

--Boundary+3064FAAD3A74E02F
Content-Disposition: form-data; name="file"; filename="test.jpg"
Content-Type: image/jpeg

??JFIF   H H  (这里是乱码了,应该是图片的数据部分了)

现在的问题来了,从ios发过的流既包含该文件的格式,文件名等也保含了文件的数据,我查了很多C#关于流的操作,没有发现可以分开处理的,不知道你们是怎么解决的呢?
上传图片的最后一步了,我卡主了好久了。。。。

阅读 5.6k
2 个回答
✓ 已被采纳新手上路,请多包涵

最后自己解决了,附上stackoverflow的提问地址

新手上路,请多包涵

这个问题你解决了么 我也遇到同样的问题 你怎么解决的啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题