2
ファイルシステムから取得ファイルを読み取るのに次のコードを使用します コードはBuilding a File Uploader with NodeJsというブログ投稿からのものです。フォームアップロードファイルからファイルコンテンツを読み込みます
プロジェクトを実行したときにUIなどが表示されました。
私は私のプロジェクトでuploads
フォルダを持っていないので、私は次のコードを使用することはできません
(form.uploadDir
)
app.post('/upload', function(req, res){
// create an incoming form object
var form = new formidable.IncomingForm();
// specify that we want to allow the user to upload multiple files in a single request
form.multiples = true;
// store all uploads in the /uploads directory - cannot use it
//form.uploadDir = path.join(__dirname, '/uploads');
// every time a file has been uploaded successfully,
// rename it to it's original name
form.on('file', function(field, file) {
fs.rename(file.path, path.join(form.uploadDir, file.name));
});
// log any errors that occur
form.on('error', function(err) {
console.log('An error has occurred: \n' + err);
});
// once all the files have been uploaded, send a response to the client
form.on('end', function() {
res.end('success');
});
// parse the incoming request containing the form data
form.parse(req);
});
私の質問は、私は、コード とUIからファイルを取得する方法です上記?私は私のファイルを選択すると、フォームからファイルの内容を取得する必要があります。
アプリケーションがクラウドにdeployed
であると私はlocalhost
を使用する場合、私は次のコード(作品)を使用
const readStream = fs.createReadStream("./file.html");
...
const writeStream = sftp.createWriteStream("/index.html");
...
readStream.pipe(writeStream);
Whi chはファイルシステムから正しいパスでファイルを作成し、別のファイル(ここではindex.html
など)で上書きします。
'form.on( 'file' ... ')のコールバックでファイルが第2引数ではありません – adeneo
@adeneo - これは私が思ったものですが、E2Eは動作していません...クラウドには非常に難しいのでデバッグするのは難しいです...)コンソールにアップロードされたファイル(form.on( 'file' ... ')からログを出力する簡単な方法があります...)私がフォームで選択したファイルの内容を見ることができるのは、クラウドで読み込まれたためです...したがって、少し難解です... –
クラウドはありません。 – adeneo