1

アップロードされたファイルは、ノード js の jquery file-upload-plugin のどこにありますか (保存されますか)? また、jquery file-upload-plugin を使用して動画ファイルをアップロードして保存できますか? ありがとう

4

1 に答える 1

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 を使用できます。

于 2012-11-21T01:09:11.233 に答える