Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.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中的POST请求发送本地文件?_Javascript_Google Chrome Extension - Fatal编程技术网

谷歌扩展-通过Javascript中的POST请求发送本地文件?

谷歌扩展-通过Javascript中的POST请求发送本地文件?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我想开发一个GoogleChrome扩展,从服务器下载PDF,然后直接上传到另一个页面。下载文档很容易。然而,上传似乎更难做到。我需要访问我的本地文件资源管理器,将文件缓存在代码中,然后通过POST请求发送。有什么办法可以做到这一点吗?我找到了一个解决方案。接收到的是一种Blob,可以通过XMLHttpRequest发送。虽然由于某种原因它不起作用,但我将它附加到了我知道有效的FormData中。缺点是它只在扩展的根目录中工作 chrome.runtime.getPackageDirec

我想开发一个GoogleChrome扩展,从服务器下载PDF,然后直接上传到另一个页面。下载文档很容易。然而,上传似乎更难做到。我需要访问我的本地文件资源管理器,将文件缓存在代码中,然后通过POST请求发送。有什么办法可以做到这一点吗?

我找到了一个解决方案。接收到的是一种Blob,可以通过XMLHttpRequest发送。虽然由于某种原因它不起作用,但我将它附加到了我知道有效的FormData中。缺点是它只在扩展的根目录中工作

    chrome.runtime.getPackageDirectoryEntry(function (root) {
            root.getFile("myFile.pdf", {}, function (fileEntry) {
                fileEntry.file(function (file) {
                    var formData = new FormData();
                    formData.append("file", file);
                    var http = new XMLHttpRequest();
                    var url = 'myUrl';
                    http.open('POST', url, true);  
                    http.onreadystatechange = function () {
                        if (http.readyState == 4 && http.status == 200) {
                            alert(http.responseText);
                        }
                    }
                    http.send(formData);
                });
            });   
        });