0

UIImagePickerControllerReferenceURLのMIMEext部分だけにアクセスするにはどうすればよいですか?これは、NSLog-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)infoのときに取得するものです。

UIImagePickerControllerReferenceURL = "assets-library://asset/asset.PNG?id=F61B754A-705C-4BFB-9965-DE34C7B93A2B&ext=PNG";

MIMEタイプにアクセスしたいだけです。次を使用して画像をWebサーバーに送信する場合:

NSData *imageData = UIImageJPEGRepresentation(_selectedImage, 1.0);

//non-important ASIFormDataRequest set-up
[request setData:imageData withFileName:uniqueString andContentType:@"image/jpeg" forKey:@"photo"];

写真はめちゃくちゃになっています。しかし、私が使用するとき:

NSData *imageData = UIImagePNGRepresentation(_selectedImage);

//non-important ASIFormDataRequest set-up
[request setData:imageData withFileName:uniqueString andContentType:@"image/png" forKey:@"photo"];

写真はうまくいきます。ただし、アップロードしたすべての写真がPNGになるわけではありません。

4

3 に答える 3

1

このスレッドに関する Dimitris の回答は魅力的でした。これが些細な答えに追いやられ、自動的にコメントにならないように、今も入力を続けます。

于 2012-07-01T17:40:47.163 に答える
1

swift で画像拡張子を取得するには:

 func imagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
            if let pickedImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
                let assetPath = info[UIImagePickerControllerReferenceURL] as! NSURL
                let ext = assetPath.absoluteString.componentsSeparatedByString("ext=")[1]
                 print(ext)
        }
    }
于 2016-11-16T12:58:35.437 に答える
0

extension以下のコードから抽出してみてくださいUIImagePickerControllerReferenceURL

NSURL *referenceURL = @"assets-library://asset/asset.PNG?id=F61B754A-705C-4BFB-9965-DE34C7B93A2B&ext=PNG"; //put your reference URL here
NSString *fileExtension = [referenceURL.absoluteString componentsSeparatedByString:@"ext="][1];
于 2016-11-03T09:40:50.420 に答える