0

画像が ajax で有効な形式であるかどうかを確認したい。しかし、問題があります。jQuery で $_file 変数を設定するにはどうすればよいですか?

だから私はこのphpコードを「翻訳」したい:

        $Avatar = $_FILES['Avatar']['name'];
        $AvatarTmp = $_FILES['Avatar']['tmp_name'];

jqueryに。

そして、($.post) を呼び出す PHP スクリプト (の重要な部分) は次のとおりです。

            if(!empty($AvatarTmp))
        {
            $AvatarSize = getimagesize($AvatarTmp);

            if($AvatarSize['mime'] =='image/jpeg')
            {
                $AvatarSrc = imagecreatefromjpeg($AvatarTmp);                       
            }else

            if($AvatarSize['mime'] =='image/png')
            {   
                $AvatarSrc = imagecreatefrompng($AvatarTmp);                        
            }else

            if($AvatarSize['mime'] =='image/gif')
            {                       
                $AvatarSrc = imagecreatefromgif($AvatarTmp);
            }else
            {
                $Errors[] = "Error006";
                $AvatarSrc = false;
            }
        }

PS: さらにコードや何かが必要な場合は、尋ねてください。すぐに追加します。

4

2 に答える 2

0

いいえ、mozilla firefoxでhtml5ファイルAPIを使用するまで、ajaxリクエストでファイルを送信することはできません。

あるいは、これを行うことができます、

ファイル入力を含むフォームをiframeに送信し、iframeの読み込み時に、jqueryを使用してiframeのbody要素のコンテンツを取得します。サーバーの応答を確認します。

于 2012-09-03T08:13:23.337 に答える
0

残念ながら、jQuery (JavaScript) は PHP とはまったく別物なので、どのタイプの File オブジェクトも持っていません。@VIPINJAIN が述べたように、HTML5 ファイル API が登場しますが、まだ初期段階です。

ファイル拡張子でチェックするか ( Check input file for correct format with jquery を参照)、サーバー側でチェックを行い、間違った形式の場合はサーバーからエラーを出力する方がはるかに優れています。

==編集==

以下は、File API を使用してファイル タイプを確認する方法を含む、File API の使用方法の例ですが、これは限られた数のブラウザでしか機能しないことに注意してください。

http://robertnyman.com/2010/12/16/utilizing-the-html5-file-api-to-choose-upload-preview-and-see-progress-for-multiple-files/#highlighter_81142

于 2012-09-03T08:15:18.840 に答える