xhrを使用してファイルシステム(ユーザーが指定していない)から読み取ったファイルをアップロードする必要があります。Ajax経由で送信する方法はありますか?
javascriptに入力タイプfileがあり、javascriptファイルオブジェクトhttps://developer.mozilla.org/en-US/docs/Web/API/Fileを提供することを理解しています。Node fs API(https://nodejs.org/docs/latest/api/fs.html)を使用してファイル記述子を取得しようとしました。しかし、xhr経由で送信することはできません。これが私のコードスニペットです。
どんな助けでも大歓迎です。
var req = new XMLHttpRequest();
req.open(method, url);
req.overrideMimeType('text/xml');
var progress = 0;
req.upload.addEventListener('progress', function (event) {
if (event.lengthComputable) {
progress = Math.round(event.loaded * 100 / event.total);
}
}, false);
req.onreadystatechange = function () {
// add logic for each state
};
var fs = require('fs');
if (filename) {
// get the file descriptor and send it via xhr
fs.open(filename, "r", function(error, fd) {
// -- THIS IS THE PART NOT WORKING --
req.send(fd);
});
} else {
console.log('no filename');
}
それはファイルを読む方法ではありません。これはあなたがそれをする方法です:
var fs = require('fs');
fs.readFile(filename, { encoding : 'utf8' }, function(err, data){
//data holds the contents of the file.
req.send(data);
});
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加