2013-03-18 3 views
1

Я спасаю мое изображение, используя ниже код ---Как получить локальный путь UIImage в UIImage?

#define DOCUMENTS_FOLDER [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] 


NSDate *now = [NSDate dateWithTimeIntervalSinceNow:0]; 
NSString *caldate = [now description]; 


NSString *filePath= [NSString stringWithFormat:@"%@/%@.jpg", DOCUMENTS_FOLDER,caldate]; 
imageurl = [NSURL fileURLWithPath:filePath]; 
dataImage = UIImagePNGRepresentation(myimage); 
[dataImage writeToFile:filePath atomically:YES]; 

ImageUrl печатает как ниже

файл: // локальный/Users/varmab/Library/Application% 20Support/iPhone% 20Simulator/6,1/Применения/E2EDF729-4684-465B-8BE3-2C0ACFA2EC03/Документы/2013-03-18% 2012: 02: 31% 20 + 0000.jpg

Теперь я хочу, чтобы показать сохраненное изображение, т. е. изображение является st ORed в приведенном выше пути к файлу

Я попытался следующие коды:

//1st process: 
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:imageurl]]; 

//2nd process: 
NSURL *urlString =imageurl; 
NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation([UIImage imageWithData:[NSData dataWithContentsOfURL:urlString]])]; 
UIImage *image = [UIImage imageWithData:imageData]; 

//3rd process: 
NSData * imageData = [[NSData alloc] initWithContentsOfURL:imageurl ]; 
self.testingImageView.image = [UIImage imageWithData: imageData]; 

Пожалуйста, руководство меня, я делаю какую-либо ошибку?

+0

смотрите эту http://stackoverflow.com/questions/7440662/how-to-get-all-paths-for-files-in-documents-directory – Vinodh

+0

Используйте NSFileManager – Rushabh

+0

я сделал, как это, но , я получил null ------- NSString * path = [[NSBundle mainBundle] pathForResource: @ "images" ofType: @ "jpeg"]; imgUlr = [NSURL URLWithString: путь]; NSLog (@ "********* testingImg is% @", imgUlr); @Rushabh – Babul

ответ

4

Почему вы не непосредственно использовать этот метод:

- (id)initWithContentsOfFile:(NSString *)path 

Он уже доступен в UIImage классе.

[self.testingImageView setImage: [[UIImage alloc] initWithContentsOfURL:imageurl]]; 

Попробуйте это, и дайте мне знать, если вы снова столкнетесь с тем же вопросом.

Примечание: проверьте изображение, похожее на его прежнее, которое вы получаете, сохраняя это изображение.

+0

Я получаю вместо initWithContentsOfURL, я получаю initWithContentsOfFile – Babul

+0

Почему я рассматриваю этот метод, потому что он уменьшит ваши строки кода. И если вы удовлетворены тем же, то можете ли вы принять и перенести ответ? – Mrunal

0

Это даст вам пути для всех файлов в каталоге документов;

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
     NSString *documentsDirectory = [paths objectAtIndex:0]; 

     NSArray *filePathsArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:documentsDirectory error:nil]; 

     NSLog(@"files array %@", filePathsArray); 

Вы можете получить путь для каждого объекта в файлеPathsArray, используя приведенный ниже код;

NSString *filePath = [documentsDirectory stringByAppendingPathComponent:[filePathsArray objectAtIndex:0]]; 
0

Swift
Get Путь каталога документов, хранить изображения там, и с таким же адресом, вы можете получить.

func getDocumentsDirectory() -> URL { 
    let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask) 
    let documentsDirectory = paths[0] 
    return documentsDirectory 
} 

if let image = UIImage(named: "example.png") { 
    if let data = UIImagePNGRepresentation() { 
     let filename = getDocumentsDirectory().appendingPathComponent("copy.png") 
     try? data.write(to: filename) 
    } 
} 
Смежные вопросы