0

テキスト フィールドに入力する 1 つの HTML フォームがあり、最後に画像ファイルをサーバーにアップロードします。(HTML ファイル:<input type="file" name="filename"/ >) Ajax 手法と HTTP POST リクエストを使用して、このタスクを実行します。

しかし、ファイルをアップロードすることはできませんが、データベースにテキスト フィールドの値が表示されます。一時フォルダーから特定のフォルダーへ。

FirePHP は次のような警告メッセージを表示しています: getimagesize() [function.getimagesize]: Filename cannot be empty in my .php file on line 19

19 行目には getimagesize() ステートメントが含まれています。

ajax技術を使用してファイルをアップロードすることは可能ですか?またはこれを行うための他のより良い方法はありますか?

どんな助けでも大歓迎です。

4

1 に答える 1

1

AJAX ベースのファイル アップロードで作業する 3 つの基本的な方法を紹介します。

1) AJAX ベースのファイル アップロードの偽装 - ページ上に iframe を作成し (CSS で非表示にできます)、フォームをその iframe に POST するように指定できます。

<form target='upload_target' id="file_upload_form" method="post" enctype="multipart/form-data" action="upload.php">
    <input name="file" id="file" size="27" type="file" /><br />
    <input type="submit" name="action" value="Upload" /><br />
    <iframe id="upload_target" name="upload_target" src="" style="width:0;height:0;border:0px solid #fff;display: none;"></iframe>
</form> 

2.) FILE API: ブラウザーがサポートしている場合は、洗練された FILE API を使用して、純粋な AJAX ファイルのアップロードと呼ぶことを行うことができます - https://developer.mozilla.org/en/using_files_from_web_applications

3) Ajax File UploadMultiple File Uploadなどの既存の JQuery プラグインを使用できます。JQuery サイトからそのようなものをもっと調べて、クロスブラウザーの互換性と使用を評価してください。

于 2012-06-30T16:04:11.440 に答える