はじめに
この記事では、jQuery Ajaxを使用してNode.jsサーバーにファイルをアップロードする方法について説明します。 はい、他のソリューション、たとえば
JQuery File Uploadが既にあることは理解してい
ますが、それでもすべてがどのように機能するかを理解するために、既存の何かをしたいことがあります。 このソリューションはケーススタディであり、コードに関するすべてのコメントや、コードを改善するための提案をコメントに残してください。
使用するもの
- ブートストラップ
- JQuery
- Node.js Multipartyのモジュール
Ajaxを使用してファイルを送信する
ページ上のすべての要素は手動で作成されます。 JSUploaderクラスは読み込みを担当します。uploadFileメソッドの1つを次に示します。
this.uploadFile = function(index) {
ファイルアップロード処理
ファイルをサーバーにアップロードするには、コンソールのコマンドを使用してインストールできる
マルチパーティモジュールが必要です。
npm install multiparty
次は、投稿を処理し、ホームページのリクエストを取得するコードです。 ここで、アップロードフォームを表示し、投稿リクエストを処理してファイルをダウンロードします。
ダウンロードの最後に、すべてが正常であること、またはエラーがある場合は送信します。 私の意見では唯一の問題は、このコードでは、サーバーがダウンロードをすぐに完了してエラーを報告できないため、ファイルが完全にダウンロードされるまで待つ必要があるということです。 フォームのoncloseシグナルを何らかの方法で呼び出すと、問題の解決は可能ですが、残念ながら、まだ解決策が見つかりませんでした。
var express = require('express'), router = express.Router(), fs = require("fs"), multiparty = require('multiparty');
参照資料