アップロードされたファイルは、ノード js の jquery file-upload-plugin のどこにありますか (保存されますか)? また、jquery file-upload-plugin を使用して動画ファイルをアップロードして保存できますか? ありがとう
1 に答える
アップロードされたファイルへのアクセス
Node と Express の最近のバージョンを使用している場合、ファイルのアップロードは簡単です。そして、この主張を支持しますが、先に進む前に、Express のルート、リクエスト、およびレスポンスに精通していることを確認してください。
よし、今度は「ケーキ」の主張を正当化しよう。私たちのファイル アップロード ルートでは、req パラメータで req.files を使用できます。req.files に含まれる内容の例を次に示します。
{
displayImage: {
size: 11885,
path: '/tmp/1574bb60b4f7e0211fd9ab48f932f3ab',
name: 'avatar.png',
type: 'image/png',
lastModifiedDate: Sun, 05 Feb 2012 05:31:09 GMT,
_writeStream: {
path: '/tmp/1574bb60b4f7e0211fd9ab48f932f3ab',
fd: 14,
writable: false,
flags: 'w',
encoding: 'binary',
mode: 438,
bytesWritten: 11885,
busy: false,
_queue: [],
drainable: true
},
length: [Getter],
filename: [Getter],
mime: [Getter]
}
}
上記の req.files オブジェクトでは、プロパティ displayImage は HTML フォームのファイル フィールドの名前であり、req.files には有効な HTML ファイル フォーム フィールドごとに 1 つのプロパティが含まれます。
ファイル オブジェクトには、サーバー側の検証用のタイプ、サイズ、および名前のプロパティが含まれています。
アップロードしたファイルの保存
ファイルが有効であると仮定して、次の手順でパス プロパティを使用します。通常、パスには tmp フォルダー内の場所が含まれます。アプリケーション ロジックでは、ファイルのコンテンツにアクセスするか、アップロードされたファイルを別の場所に移動する必要があります。
fs.readFile(req.files.displayImage.path, function (err, data) {
// ...
var newPath = __dirname + "/uploads/uploadedFileName";
fs.writeFile(newPath, data, function (err) {
res.redirect("back");
});
});
fs.readFile コールバックには、ファイルの内容にアクセスできる data パラメータがあります。上記の例は、ファイルを変更して新しい場所に保存する必要があるアプリケーションからのものです。したがって、fs.writeFile は newPath にデータを書き込むために使用されます。
アプリがコンテンツを変更せずにアップロードされたファイルを移動する必要がある場合は、より簡単なオプションとして fs.rename を使用できます。