2014-10-09 15 views
8

Tôi gặp sự cố trên Android (không được thử nghiệm trên các nền tảng khác) nơi tôi muốn sử dụng API tệp cordova để đọc tệp từ thư mục/www. Có những mẩu thông tin xung đột trên internet về việc liệu điều này có thể xảy ra hay không. Tôi đã theo một ví dụ như:Cordova File Plugin - Đọc từ thư mục www?

window.resolveLocalFileSystemURL(cordova.file.applicationDirectory + "www/index.html", gotFile, fail);

Tuy nhiên tôi nhận được lỗi 1 (file không tìm thấy). Tôi có thể sử dụng AJAX để lấy tập tin tôi cần nhưng nó không phù hợp với trường hợp sử dụng của tôi. Tôi muốn truy vấn một thư mục trong thư mục/www và đọc một tệp được đặt tên động. Bất kỳ ý tưởng?

Tôi muốn có một câu trả lời được cập nhật, như một tôi đã nhìn thấy là hơn 1 tuổi: Can you read files in the www folder using PhoneGap.'s JS methods?

Cảm ơn trước.

Trả lời

2

mỗi Raymond Camden từ đầu năm nay, điều này là không thể với cordova = file-plugin: http://www.raymondcamden.com/2015/01/21/phonegapcordova-tip-working-with-files-under-www-and-android -

Trước hết, bạn không thể sử dụng các API Hệ thống tập tin để làm việc với các tập tin dưới thư mục www. Tài liệu cho plugin Tệp không chính xác nói rằng bạn có quyền truy cập Đọc vào thư mục ứng dụng (có chứa www) nhưng điều đó không chính xác.

Nhưng có một số thư mục mà bạn do có quyền truy cập để sử dụng plugin tệp. Dưới đây là một số mẫu mã để truy xuất nội dung của một vài trong số họ: https://stackoverflow.com/a/29905718/346550

6

Bạn có thể sử dụng chức năng này để có được tất cả các file có sẵn trong www/thư mục

function listDir(path){ 
    window.resolveLocalFileSystemURL(path, 
    function (fileSystem) { 
     var reader = fileSystem.createReader(); 
     reader.readEntries(
     function (entries) { 
      console.log(entries); 
     }, 
     function (err) { 
      console.log(err); 
     } 
    ); 
    }, function (err) { 
     console.log(err); 
    } 
); 
} 
//example: list of www/ folder in cordova/ionic app. 
listDir(cordova.file.applicationDirectory + "www/"); 

(Thư mục www đang ở chế độ chỉ đọc Bạn. Cordova plugin file tài liệu giải thích điều này. Nhưng bạn có thể sử dụng copyTo() method of html5 API File để sao chép dữ liệu của mình ở một vị trí khác)

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