Tôi có ứng dụng Cordova/PhoneGap sử dụng máy ảnh để chụp ảnh. Tôi cần truy cập vào hình ảnh này để gửi tới máy chủ của tôi.Cách truy cập hình ảnh từ URI gốc (tài sản-thư viện) trong Cordova cho iOS
Đối với Android, tôi chỉ cần sử dụng $cordovaFile.readAsDataURL(cordova.file.dataDirectory, fileName)
Tuy nhiên; trên iOS tên tệp không quay lại như vậy. giá trị trả về của tôi dành cho iOS cho thấy con đường như
tài sản thư viện: //asset/asset.JPG id = 539425FE-43AA-48E7-9865-D76348208AC7 & ext = JPG
thế nào có thể Tôi truy cập và đọc hình ảnh này? Tôi muốn gắn bó với $ cordovaFile nhưng chỉ muốn làm cho nó hoạt động.
Tôi đang sử dụng CordovaCameraPreview plugin và tốt nhất tôi có thể lấy lại từ bộ xử lý hình ảnh taker có vẻ là một cái gì đó hình thành tương tự như:
tài sản thư viện: //asset/asset.JPG id = 990355E1 -200A-4E35-AAA1-7D461E3999C8 & ext = JPG tài sản thư viện: //asset/asset.JPG id = C49FF0EB-CCCB-45B2-8577-B13868D8DB29 & ext = JPG
Làm thế nào tôi có thể chuyển đổi này vào một tên tệp và đường dẫn mà tôi có thể đọc bằng $ cordovaFile? Theo tài liệu của họ (http://ngcordova.com/docs/plugins/file/) có vẻ như tôi cần sử dụng một trong các đường dẫn của họ cho Bố cục hệ thống tệp. Nó hoạt động tốt trên Android bằng cách sử dụng cordova.file.dataDirectory nhưng không thể tìm ra cách truy cập trên iOS
Tôi cũng đã thử sử dụng window.resolveLocalFileSystemURL(path)
nhưng tôi nhận được không xác định là kết quả của mình.
Cập nhật
tôi cảm thấy như tôi nhận được gần hơn ... sử dụng window.resolveLocalFileSystemURL(path,resolveOnSuccess, resOnError);
tôi nhận được thêm thông tin
name: "assets-library"
fullPath: "/asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
name: "asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
nativeURL: "assets-library://asset/asset.JPG?id=711B4C9D-97D6-455A-BC43-C73059A5C3E8&ext=JPG"
Dường như bây giờ tôi cần phải sử dụng fullpath nhưng vẫn không thể tìm hiểu cách truy cập bằng $ cordovaFile
Nếu tôi cố gắng sử dụng $cordovaFile.readAsDataURL(cordova.file.dataDirectory, data.name)
trong đó data.name là asset.JPG? id = 711B4C9D-97D6-455A-BC43-C73059A5C3E8 & ext = JPG tôi nhận được một tập tin không tìm thấy lỗi
Cập nhật 2
Tôi đã cố gắng sử dụng tất cả các tập tin đơn Hệ thống Giao diện có sẵn tại http://ngcordova.com/docs/plugins/file/ và nhận cùng File Not Found lỗi trên mỗi một. Vẫn không biết cách truy cập tệp trong thư viện tài sản bằng cách sử dụng $ cordovaFile
Kính gửi Danjarvis, Tôi cũng đang gặp phải sự cố tương tự với plugin camerapreview. Bạn có thể vui lòng cho tôi biết liệu bạn có thể tải tệp lên bằng tệp đầu ra từ phương thức trên hay không? Url đầu ra trông như thế này, cdvfile: //localhost/assets-library/asset/asset.JPG? Id = F0D3E4F4-366C-4C27-A158-937CA7805C87 & ext = JPG –
Nếu bạn chỉ đang cố chuyển đổi nội dung-thư viện: // URL đến đường dẫn CDVFile, bạn có thể gọi sau đây trên đối tượng fileEntry được trả về bởi resolveLocalFileSystemURL: 'fileEntry.toInternalURL()' – jcaruso