0

マルチアップロードのフラッシュ アップローダーを使用して、投稿用の画像を保存するためのバックエンド管理ソリューションを開発したいと考えています。つまり、ブラウズをクリックすると、開くダイアログボックスよりも、CTRL + LEFT MOUSE CLICK を使用して複数のファイルを選択できるアップローダのことです)。

すべての新しい画像をデータベースに保存したいと思います。保存とは、テーブル内のすべてのアイテム (画像) に対して新しい行を作成することを意味し、画像と呼ばれます。

1.id (automatically increasing)
2.file_name
3.user_who_uploaded_that_book

また、構成ファイルのどこかで、ユーザーがアップロードできるファイルの数を制限したいと思います (たとえば、最大 20 ファイル)。

4

2 に答える 2

2

個人的に私はPluploadのファンで、複数のファイルをアップロードできるように設定する方法についての素晴らしい例が含まれています。また、バックエンドのセットアップの例として、upload.php スクリプトも含まれています。

HTML4 はファイルの複数選択をサポートしていないため、そのためには HTML5 または拡張機能 (フラッシュやシルバーライトなど) に依存する必要があります。Plupload は上記のすべてをサポートしているため、手間を省くことができます。

于 2012-03-24T17:51:04.270 に答える
0

ここで 2 つの基本的な質問があると思います。

  1. フラッシュ経由でアップロードするローカル ファイルを選択する方法は?
  2. 複数のファイルを POST としてサーバーに送信するには?

#1の場合、 flash.net.FileReferenceを使用する必要があります。

#2の場合、フラッシュには組み込みの「マルチパート」ローダーはありません。これが必要なものであると確信しています。私が見つけた最高のものは、Eugene という天才開発者によるものです: http://blog.inspirit.ru/?p=198 . 個人的には IE8 と IE9 の onComplete ハンドラに問題がありましたが、これはうまく機能します。Eugene のせ​​いではなく、IE のせいだと確信しています。HTTPStatusEvent イベントをリッスンして、次のように回避しました。

var ml:MultipartURLLoader = new MultipartURLLoader();           
ml.addEventListener(HTTPStatusEvent.HTTP_STATUS, onHTTPStatusEvent);
ml.addVariable('Content-Type', "image/png");
ml.addFile(pngStream, filename, "file", "image/png");
ml.load('http://...');
function onHTTPStatusEvent( event: HTTPStatusEvent ){           
    if(stat == 0 || (stat >= 200 && stat < 205)){
        //upload success
    }else{
        //some kinda error
    }
}

(これは複数の addFiles(_); で動作するはずです)

標準イベントもリッスンしています。

ml.addEventListener(Event.COMPLETE, uploadComplete);
ml.addEventListener(ProgressEvent.PROGRESS, uploadProgress);

しかし、PROGRESS をまったく動作させることができず、COMPLETE は IE で起動しません... IE で動作する代替手段を知っている人はいますか? ユージーンのコードは今私のために働いていますが、「アップロード中...」の進行状況バーをそのまま追加できるとは思いません...それはクールです.

于 2012-03-25T03:46:59.280 に答える