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

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#关于流的操作,没有发现可以分开处理的,不知道你们是怎么解决的呢?
上传图片的最后一步了,我卡主了好久了。。。。


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


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

【热门文章】
【热门文章】