5

o NaClchrome.fileSystem kullanmak mümkün mü google Native Client içindeki kullanılabilir mi?chrome.fileSystem

Teşekkür

+0

Benim tahminim "muhtemelen", ama onunla çalışmak için, en kötü ihtimalle, orada kopyalayabilirsiniz HTML5 dosya sistemine erişebilmesini görmektir. Ama konuyu yeterince iyi bilmiyorum. – Xan

+0

@Xan Yorumlarınız için teşekkür ederiz! – KaBa

cevap

6

The chrome.fileSystem API bir Chrome App aracılığıyla kullanıcının yerel dosya sistemine erişim sağlar. Bu, kullanıcının Uygulamaya sunmak için bir dizin seçmesini gerektirir.

Bu dosya

NaCI modülüne geçirilir ve daha sonra standart NaCI pp::FileSystem API ile birlikte kullanılabilir.

examples/tutorial/filesystem_passing NaCl SDK'sında bu bir örnek vardır. Bunun için here koduna göz atabilirsiniz. JavaScript:

chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(entry) { 
    if (!entry) { 
    // The user cancelled the dialog. 
    return; 
    } 

    // Send the filesystem and the directory path to the NaCl module. 
    common.naclModule.postMessage({ 
    filesystem: entry.filesystem, 
    fullPath: entry.fullPath 
    }); 
}); 

C++:

İşte önemli parçalarıdır

// Got a message from JavaScript. We're assuming it is a dictionary with 
// two elements: 
// { 
//  filesystem: <A Filesystem var>, 
//  fullPath: <A string> 
// } 
pp::VarDictionary var_dict(var_message); 
pp::Resource filesystem_resource = var_dict.Get("filesystem").AsResource(); 
pp::FileSystem filesystem(filesystem_resource); 
std::string full_path = var_dict.Get("fullPath").AsString(); 
std::string save_path = full_path + "/hello_from_nacl.txt"; 
std::string contents = "Hello, from Native Client!\n"; 

Bu FileSystem tüm yollar full_path öneki gerektiğine dikkat etmek önemlidir. Başka girişler başarısız olur.