0

こんにちは、iOS フォト ギャラリーから写真を選択するオプションがあるアプリを開発しています。選択した写真をサーバーにアップロードする必要があります。画像をアップロードするためにKaltura SDKを使用しているため、サーバーに直接送信できない状況にありUIImageます。保存した画像ファイルのパスを送信する必要があります。

そのために私は解決策を見つけました。それは、選択した写真を特定のファイルパスに保存することであり、そのファイルパスを使用します。しかし問題は、写真がすでに特定のパスに保存されているため、電話のメモリに写真を再度保存したくないことです。

保存した画像ファイルのパスを再度保存せずに取得する他のオプションはありますか?

4

1 に答える 1

20

これを試してください:

- (void)saveImage: (UIImage*)image
{
    if (image != nil)
    {
        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                         NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString* path = [documentsDirectory stringByAppendingPathComponent:
                      @"test.png" ];
        NSData* data = UIImagePNGRepresentation(image);
        [data writeToFile:path atomically:YES];
    } 
}

- (UIImage*)loadImage
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
                                                     NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString* path = [documentsDirectory stringByAppendingPathComponent:
                  @"test.png" ];
    UIImage* image = [UIImage imageWithContentsOfFile:path];
    [self sendAction:path];
    return image;
}
于 2013-04-25T14:02:08.307 に答える