【发布时间】:2015-11-17 11:39:56
【问题描述】:
我有以下代码
for (int i=0; i<self.imageArray.count; i++)
{
[self.operation addData:[self getDataFromImage:[self.imageArray objectAtIndex:i]]
forKey:[NSString stringWithFormat:@"pa_image%d",i+1]
mimeType:@"image/png"
fileName:[NSString stringWithFormat:@"pa_image%d.png",i+1]];
}
从这里调用以下方法
-(NSData *)getDataFromImage:(UIImage *)image
{
NSData *imageData= UIImageJPEGRepresentation(image, 0.1);
return imageData;
}
我的 imageArray 代码中有两种情况
1) 值来自 imageArray 中的 API,例如“images/upload/d872f1.png”、“images/upload/0fdade.png”,然后在 NSData 中返回 nil。我想从此路径转换为 NSData。怎么办?
执行此行后,我的应用程序崩溃了。它给了
由于未捕获的异常而终止应用 'NSInvalidArgumentException',原因:'-[__NSCFString CGImage]: 无法识别的选择器发送到实例 0x7f83a1f13510'
2) 当我从手机上传时,它就像“, {834, 1250}”。我的代码在这种情况下工作正常,它转换成 NSData。
更多细节在这里是我的 addData 方法
-(void) addData:(NSData*) data forKey:(NSString*) key mimeType:(NSString*) mimeType fileName:(NSString*) fileName
{
if ([self.request.HTTPMethod isEqualToString:@"GET"])
{
[self.request setHTTPMethod:@"POST"];
}
NSDictionary *dict = @{@"data": data,
@"name": key,
@"mimetype": mimeType,
@"filename": fileName};
[self.dataToBePosted addObject:dict];
}
【问题讨论】:
-
在你的 imageArray 中有 NSString 对象或 UIImage 对象吗?
-
UIimage 对象 - <__nsarraym>( images/upload/d872f1.png, images/upload/0fdade.png )
-
我认为它的文件名。
-
不,它不工作..!
标签: ios objective-c crash uiimage nsdata