【发布时间】:2013-03-20 14:52:26
【问题描述】:
我正在尝试将用户拍摄的图像发送到服务器。我得到 JPEG 表示,将其附加到上传照片所需的字符串,然后通过 NSOutputStream 发送数据。但是,当我尝试从服务器取回照片时,我只能从顶部看到 10% 的照片。任何帮助将不胜感激。
顺便说一句。套接字已打开并已连接。
这是我的代码:
NSString *requestString = [NSString stringWithFormat:@"SubmitPhoto::%@::", userID];
NSData * stringData = [requestString dataUsingEncoding:NSUTF8StringEncoding];
NSData *imgData = UIImageJPEGRepresentation(image, 1.0);
NSMutableData *completeData = [[NSMutableData alloc] initWithBytes:[stringData bytes] length:[stringData length]];
[completeData appendData:imgData];
//sending NSData over to server
[self.outputStream write:[completeData bytes] maxLength:[completeData length]];
【问题讨论】:
-
您尝试过不同的 JPEG 压缩吗?喜欢(图片,0.4f)
-
不知道是不是超过了大小限制阈值
-
您可以尝试将图像写入内存(缓冲区)并尝试渲染恢复的图像吗?我尝试在内存中执行此操作,它适用于 1024 x 683 照片。这是一些示例代码:gist.github.com/abellina/5205633.
-
感谢两位的快速回复。我缩小了照片的尺寸,它可以正常工作。
标签: objective-c xcode nsstream nsoutputstream