2
requestFileSystemを使用するアプリケーションを作成しました。すべてうまく動作します。 新しいイメージを追加し、永続的なローカルファイルシステムに格納します。requestFileSystemとtoUrl()関数で画像を表示
誰かがtoUrl()で画像を表示する方法を知っていますか?
...
window.requestFileSystem(window.PERSISTENT, 5*1024*1024, function(fs){
fs.root.getDirectory(itemId, {create: false}, function(dirEntry) {
var dirReader = dirEntry.createReader();
var entries = [];
var readEntries = function() {
dirReader.readEntries (function(results) {
if (!results.length) {
listResults(entries.sort(), itemId);
} else {
entries = entries.concat(fsdatas.dir.toArray(results));
readEntries();
}
}, errorHandler);
};
readEntries();
});
}, errorHandler);
...
そして
function listResults(entries, itemId) {
document.querySelector('#listRecordFiles-'+itemId).innerHTML = '';
var fragment = document.createDocumentFragment();
var i = 0;
entries.forEach(function(entry, i) {
i++;
var img = document.createElement('img');
img.src = entry.toURL();
fragment.appendChild(img);
});
document.querySelector('#listRecordFiles-'+itemId).appendChild(fragment);
}
出力は次のようになります。
<img src="filesystem:http://domain.tld/persistent/1/image-test.jpg">
しかし、何がブラウザ上に表示されません。
私は解決策を見つけましたこれは、「TEMPORARY」の代わりに「PERSISTENT」を使用したためですが、「TEMPORARY」は使用しないためです。誰もが "永遠の"これを行う方法を知っていますか? –
'PERSISTENT'ストレージを使用するには、クォータをリクエストする必要があります。そのためのクォータ管理APIがあります。フォローアップに戻るためのhttps://groups.google.com/a/chromium.org/group/chromium-html5/msg/5261d24266ba4366?pli=1 – ebidel
アップヴォートをご覧ください。 :)私はこの質問までtoURL()を知らなかった。それは私の現在のプロジェクトをより簡単にするだろう。 – BrianFreud