Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/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
下载AngularJS中项目目录中不存在的文件_Angularjs - Fatal编程技术网

下载AngularJS中项目目录中不存在的文件

下载AngularJS中项目目录中不存在的文件,angularjs,Angularjs,在我的项目中,我只想实现上传和下载功能。我已经用AngularJS和Node.js完成了上传功能。但这里的问题是将文件(.pdf,所有图像格式)上传到系统中的某个地方。例如,我的项目位于D驱动器中。虽然我必须上传一个文件到C驱动器或其他驱动器在我的电脑,我已经成功地做到了。但当我尝试从Node.js读取文件位置并将路径传递给angular时,一切正常,文件在浏览器中下载。当我试图打开一个下载的文件时,它会返回一个响应-致命错误/无显示。只有当我发送一个文件流而不是一个指向对象的路径时,我才尝试使

在我的项目中,我只想实现上传和下载功能。我已经用AngularJS和Node.js完成了上传功能。但这里的问题是将文件(.pdf,所有图像格式)上传到系统中的某个地方。例如,我的项目位于D驱动器中。虽然我必须上传一个文件到C驱动器或其他驱动器在我的电脑,我已经成功地做到了。但当我尝试从Node.js读取文件位置并将路径传递给angular时,一切正常,文件在浏览器中下载。当我试图打开一个下载的文件时,它会返回一个响应-致命错误/无显示。只有当我发送一个文件流而不是一个指向对象的路径时,我才尝试使用blob

代码如下

       var file = new Blob([data], {type: 'application/pdf'});
       var fileURL = URL.createObjectURL(file);
       window.open(fileURL);

其中数据是来自服务器的文件流响应

不是我的代码,但请尝试以下操作以保存BLOB:

var saveData = (function () {
    var a = document.createElement("a");
    document.body.appendChild(a);
    a.style = "display: none";
    return function (data, fileName) {
        var json = JSON.stringify(data),
            blob = new Blob([json], {type: "octet/stream"}),
            url = window.URL.createObjectURL(blob);
        a.href = url;
        a.download = fileName;
        a.click();
        window.URL.revokeObjectURL(url);
    };
}());

var data = { x: 42, s: "hello, world", d: new Date() },
    fileName = "my-download.json";

saveData(data, fileName);
资料来源:

如果要强制下载链接文件,可以使用HTML5
a
选项
download
更多信息: 记住(不存在)对旧浏览器的支持

注意:您的上传过程(“将文件上传到C驱动器或我计算机中的其他驱动器”)听起来可能需要改进或重新思考