是否可以使用JQuery保存文件输入?

时间:2014-05-11 12:08:02

标签: jquery html google-chrome-extension

我正在使用Chrome扩展程序,在options.html页面中,用户应该可以上传音频文件。在编写Chrome扩展时,我似乎不允许使用PHP,所以我想知道如何使用JQuery保存音频文件。

我有什么:

HTML

<form >
   <input type="file" id="upload" name="snd" />
   <input type="submit" id="submit" value="Upload" />
</form>

JS

$('#submit').on('click', (function(e) {
    upload = document.getElementById("upload").files[0];
    return false;
}))

这会获取文件,但现在我不知道如何保存它。请帮忙!

谢谢!

1 个答案:

答案 0 :(得分:1)

Chrome仅允许在沙盒环境中访问文件系统。有关访问它的信息,请参阅以下示例:

document.querySelector('#upload').onchange = function(e) {
var files = this.files;

window.requestFileSystem(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(f.name, {create: true, exclusive: true}, function(fileEntry) {
      fileEntry.createWriter(function(fileWriter) {
        fileWriter.write(f); // Note: write() can take a File or Blob object.
      }, errorHandler);
    }, errorHandler);
  })(file);

}
}, errorHandler);
};

这是获取更多信息的好资源:

http://www.html5rocks.com/en/tutorials/file/filesystem/