Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用文件路径html5创建/初始化文件对象_Javascript_File_Html_Path - Fatal编程技术网

Javascript 如何使用文件路径html5创建/初始化文件对象

Javascript 如何使用文件路径html5创建/初始化文件对象,javascript,file,html,path,Javascript,File,Html,Path,有很多使用html5读取本地文件的例子,但是通过从文件列表中选择,我的问题是我想要手动创建文件对象,假设我有一个带有链接的文件 file:///G:/Users/txt.txt 我想让浏览器打开它 我认为它必须归档f=newfile('file:///G:/Users/txt.txt'); 我的问题是如何使用文件路径创建/初始化文件对象 没有用户的许可,实在无法创建文件。需要按下按钮或其他东西。您需要创建一个data:uri才能保存它。您可以使用web搜索或签出(不是完整的源代码,但可以显示可

有很多使用html5读取本地文件的例子,但是通过从文件列表中选择,我的问题是我想要手动创建文件对象,假设我有一个带有链接的文件

file:///G:/Users/txt.txt
我想让浏览器打开它

我认为它必须归档
f=newfile('file:///G:/Users/txt.txt');


我的问题是如何使用文件路径创建/初始化文件对象

没有用户的许可,实在无法创建文件。需要按下按钮或其他东西。您需要创建一个data:uri才能保存它。您可以使用web搜索或签出(不是完整的源代码,但可以显示可能的内容)查找更多信息。这是非常有限的,取决于手机和操作系统。使用IE时,数据URI受到限制


触发下载时,会将其保存到默认位置或用户指定的位置。您可能还希望查看特定于供应商/操作系统的API调用,这些调用可以按照您所描述的那样执行。但在实际允许访问之前,可能需要验证权限。

由于文件继承blob接口,我使用了下面的解决方法

var getFileBlob = function (url, cb) {
        var xhr = new XMLHttpRequest();
        xhr.open("GET", url);
        xhr.responseType = "blob";
        xhr.addEventListener('load', function() {
            cb(xhr.response);
        });
        xhr.send();
};

var blobToFile = function (blob, name) {
        blob.lastModifiedDate = new Date();
        blob.name = name;
        return blob;
};

var getFileObject = function(filePathOrUrl, cb) {
       getFileBlob(filePathOrUrl, function (blob) {
          cb(blobToFile(blob, 'test.jpg'));
       });
};

getFileObject('img/test.jpg', function (fileObject) {
     console.log(fileObject);
}); 

如果由于文件系统的差异(UNIX与Win约定等)和安全性,这是不可能的,我不会感到惊讶。我当然不希望我的浏览器在我不知道的情况下覆盖我的某个文件。:)使用html5开发移动应用程序,尝试将一些数据保存到SD卡并重新检索。我认为依赖本地存储可能更容易。看。我存储的数据随着时间的推移变得非常大,我想将其保存在SDI上。我必须使用XMLHttpRequest,即使对于本地文件路径也是如此?这在android上也有效吗?在iOS上也有效,但android似乎不喜欢它。。。。?