현재 내 코드에서 작업의 새로운 기능 : 내가 사진 라이브러리에서 JPG 또는 PNG를 선택아이폰 OS : 다중/폼 데이터 사용을 NSData로 변환, 사진 라이브러리에서 GIF를 선택
(표준 ImagePicker 방법을 사용하여)를 사용하여 다음 이미지를 사용하여 해당 이미지를 NSData로 변환합니다.
self.myImageData = UIImageJPEGRepresentation(myImage, 0.9);
그런 다음 multipart/form-data를 사용하여 서버에 게시합니다.
원래 GIF 데이터를 유지하면서 (라이브러리에 들어가는 애니메이션 GIF가 여전히 애니메이션으로 돌아 오도록) GIF에 대해 동일한 작업을 수행하려고합니다. didFinishPickingMediaWithInfo에서
, 나는self.myGIFURL = [info objectForKey:UIImagePickerControllerReferenceURL].
여기 그 날을 얻을 수있는 것의 한 예이다 사용하여 원래 GIF의 URL을 얻을 수 있어요 :
자산 라이브러리 : // 자산/asset.GIF? ID = 1000000034 & 내선 = GIF
여기, 내가있는 NSData로이 GIF를 밀어 지금 시도한 두 가지 방법 때마다 나는 myIma geData는 (null)을 보여줍니다.
나는 initWithContentsOfURL을 사용하려했습니다
NSString *stringFromURL = [NSString stringWithFormat:@"%@", myGIFURL];
NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfFile: stringFromURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
어떤 제안 :
NSData *dataFromGIFURL = [[NSData alloc] initWithContentsOfURL: myGIFURL];
self.myImageData = dataFromGIFURL;
[dataFromGIFURL release];
가 그럼 난 initWithContentsOfFile에 대한 문자열로 NSURL 변환 시도
? 감사.
와우 :
–그것은 일했다! "분명히 할 수있다 ..."이후의 부분은 잠깐 나를 데려 갔다. (나는 이것에 처음이에요.) –
오, 미안 해요! 방금 바이트를 얻는 것을 처리했지만 질문의 NSData 부분에 응답하는 것을 잊어 버리고 뭔가를 집어 넣기 위해 돌아왔다. 나는 더 많은 치료를 받아야했다. 자산 표현에 의해 주어진 크기의 블록을 malloc 할 것이고, 자산 표현을 작성한 후 NSData로 랩핑하여 freeWhenDone을 통해 메모리의 소유권을 양도합니다. 또한 올바른 스토리지를 사용하여 NSMutableData를 만든 다음 자산 표시를 가져 와서 mutableBytes 속성에 쓸 수 있습니다. 하지만 당신이 지금 이걸 알아 냈다고 확신합니다 ... – Tommy