2016-05-25 13 views
2

私はHTML5 FileSystem-APIのチュートリアルを進めています。 基本的に私のマシンにファイルを書きたいと思います。私はpythonのsimpleHTTPServerを使ってウェブサイトを提供しています。 Webページをロードすると、コンソールにエラーが表示されず、書き込みが成功したというメッセージが表示されます。しかし私はマシン上のどこにでもファイルを見つけることができません。ここに私のコードです:HTML5 fileWriter.writeはローカルファイルに書き込みません

function onInitFs(fs) { 

    fs.root.getFile('zz11zzlog.txt', {create: true}, function(fileEntry) { 

    // Create a FileWriter object for our FileEntry (log.txt). 
    fileEntry.createWriter(function(fileWriter) { 

     fileWriter.onwriteend = function(e) { 
     console.log('Write completed.'); 
     }; 

     fileWriter.onerror = function(e) { 
     console.log('Write failed: ' + e.toString()); 
     }; 

     // Create a new Blob and write it to log.txt. 
     var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'}); 

     fileWriter.write(blob); 

    }, errorHandler); 

    }, errorHandler); 

} 

function errorHandler(e) { 
    var msg = ''; 

    switch (e.code) { 
    case FileError.QUOTA_EXCEEDED_ERR: 
     msg = 'QUOTA_EXCEEDED_ERR'; 
     break; 
    case FileError.NOT_FOUND_ERR: 
     msg = 'NOT_FOUND_ERR'; 
     break; 
    case FileError.SECURITY_ERR: 
     msg = 'SECURITY_ERR'; 
     break; 
    case FileError.INVALID_MODIFICATION_ERR: 
     msg = 'INVALID_MODIFICATION_ERR'; 
     break; 
    case FileError.INVALID_STATE_ERR: 
     msg = 'INVALID_STATE_ERR'; 
     break; 
    default: 
     msg = 'Unknown Error'; 
     break; 
    }; 

    console.log('Error: ' + msg); 
} 
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler); 

答えて

0

しかし、私は私のマシン上で任意の場所にファイルを見つけることができません。

書き込みが成功した場合、ファイルはDefaultにクロムまたはクロム設定ディレクトリにローカルのファイルシステムに書き込まれる - >File Systemディレクトリ。私はクロームファイルシステムディレクトリに行けば

は、Windows上でHow to Write in file (user directory) using JavaScript?

+0

を参照してください、私は000の名前(フォルダの束を見ます、001,002 ...とOrigins)でも、私が指定したtxtファイルはありません。ハードドライブを検索しても何も表示されない – gpanterov

+0

@gpanterov _ "私のクロームファイルシステムディレクトリに移動すると、たくさんのフォルダ(000,001,002 ...とOrigins)が表示されます。" _はい、ファイル名'.getFile()'で提供されているファイルは、 'File System'ディレクトリに作成されたファイルと同じではありません。空のオブジェクトを第2のパラメータとして '.getFile(" fileName "、{})'を使ってファイル名でファイルを取り出すことはできます。あなたは '000'、' 001'、 '002'フォルダにファイルをオープンしましたか? 1つはテキスト「Lorem Ipsum」を含んでいますか? – guest271314

+0

私はブラウザを介してファイルを読むことができたので、そこになければなりません。私はそれが私のインデックスファイルのフォルダにそれを格納すると仮定していた – gpanterov

0

コールファイルのダウンロードについては、この2行

window.requestFileSystem(window.TEMPORARY, fileSize, function(filesystem){ 
 
\t \t \t \t \t \t \t \t \t setTimeout(function() { 
 
\t \t \t \t \t \t \t \t \t \t downloadFs(filesystem,fileName); 
 
\t \t \t \t \t \t \t \t \t }, time); 
 
\t \t \t \t \t \t \t }, errorHandler); 
 

 
function downloadFs(fs,fileName) { 
 
\t \t \t fs.root.getFile(fileName, {create: false}, function(fileEntry) { 
 
\t \t \t   console.log("filesystem:"+fileEntry.toURL()) ; 
 
\t \t \t \t \t window.location.href = fileEntry.toURL(); 
 
\t \t \t }, errorHandler); \t 
 
\t }

関連する問題