2009-02-09 41 views
5

Tôi có một ứng dụng iPhone có điều khiển UIWebview (Safari) được nhúng. Tôi muốn có thể lưu trữ hình ảnh từ một số trang web cục bộ.iPhone UIWebview - Lưu hình ảnh đã được tải xuống

Tôi có thể truy cập theo chương trình đường dẫn nơi UIWebview tải xuống hình ảnh không? Hay tôi cần phải phân tích cú pháp HTML và sau đó đi tìm tài nguyên hình ảnh trên mạng và tải xuống lại?

Trả lời

0

Tôi không nghĩ rằng bạn có thể lưu hình ảnh bằng cách sử dụng UIWebView trực tiếp, you'r sẽ phải lấy những hình ảnh bằng tay ...

0

từ chối trách nhiệm: Tôi đã không cố gắng này.

Nếu bạn có thể tìm ra tên của họ, UIImage phản hồi thành + (UIImage *) imageNamed: (NSString *) mà tài liệu ngụ ý có thể lấy lại hình ảnh từ bộ nhớ cache trên toàn bộ thiết bị.

Tôi muốn biết kết quả của bất kỳ thử nghiệm nào.

5

Tôi không biết nếu bạn có thể truy cập những hình ảnh được tải sẵn từ bộ nhớ cache của Safari ...

Tuy nhiên bạn có thể dễ dàng tìm thấy URL hình ảnh mà không cần phân tích cú pháp HTML, bằng cách chạy một chút javascript thay vì:

NSString *script = @"var n = document.images.length; var names = [];" 
        "for (var i = 0; i < n; i++) {" 
        "  names.push(document.images[i].src);" 
        "} String(names);"; 
NSString *urls = [webView stringByEvaluatingJavaScriptFromString:script]; 
// urls contains a comma-separated list of the image URLs. 
+1

Và bạn chỉ cần thêm NSData * imageData = [Dữ liệu NSDataWithContentsOfURL: [URL NSNVới chuỗi: @ "www.url.com/image.jpeg"]]; UIImage * theImage = [UIImage imageWithData: imageData]; UIImageWriteToSavedPhotosAlbum (theImage, self, nil, nil); để lưu hình ảnh vào album Ảnh. –

+0

Đây không phải là giải pháp mà tác giả yêu cầu. Anh ấy không muốn yêu cầu hình ảnh trên internet khi chúng được tải trong chế độ xem web. Tôi đã bỏ phiếu cho câu hỏi. –

Các vấn đề liên quan