<input type="file" id="myfile" multiple />
<script type="text/javascript">
document.querySelector('#myfile').onchange =
function(e)
{ var files = this.files;
window.webkitRequestFileSystem(window.TEMPORARY, 1024*1024,
function(fs)
{ // Duplicate each file the user selected to the app's fs.
for (var i = 0, file; file = files[i]; ++i)
{ // Capture current iteration's file in local scope for the getFile() callback.
(function(f)
{ fs.root.getFile(file.name, {create: true, exclusive: true},
function(fileEntry)
{ fileEntry.createWriter(
function(fileWriter)
{ fileWriter.write(f); // Note: write() can take a File or Blob object.
// ファイル書き込み成功イベント
fileWriter.onwrite =
function() { window.alert("書き込み完了" + f.name); };
},
errorHandler);
},
errorHandler);
})(file);
}
},
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;
};
window.alert('Error: ' + msg);
}
</script>
|