0

ファイルをアップロードしてデータベースに保存するために jQuery フォームを使用しています。私のコードは chrome と mozilla で正常に動作しますが、Internet Explorer ではアップロードが開始されません。私はgrailsフレームワークで、私のコードは次のとおりです:

<g:form controller="uploadImage" action="uploadImage" enctype="multipart/form-data" name="imageUploaderForm" id="imageUploaderForm">
    <input type="file" name="image" id="image" onchange="submitImageUploaderForm()" />
    <g:hiddenField name="imageType" value=""/>
</g:form>

$("#imageUploaderForm").ajaxForm({
    uploadProgress: function(event, position, total, percentComplete) {
        $("#progressbar").progressbar({
            value : percentComplete
        });
        $(".progress-label").html(percentComplete+" %");
    },
    complete: function(response){
        //something
    }
});

function submitImageUploaderForm(){
    //This method gets called !
    $("#imageUploaderForm").submit();
}

そしてコントローラーには次のものがあります

def uploadImage = {
    def response = [result:false,message:"Image could not be uploaded.",uploadInstanceId:0]
    def uploadImage = new UploadImage(params)
    if(uploadImage.save()) response = [result:true,message: "Image uploaded sucessfully.",uploadInstanceId:uploadImage.id]
    render response as JSON
}

ファイルをアップロードしようとしてもページで何も起こりませんが、しばらくすると次の例外が発生します。

Message: Could not parse multipart servlet request; nested exception is org.apache.commons.fileupload.FileUploadException: Read timed out
4

2 に答える 2

0

残念ながら、Ajaxを介したファイルのアップロードはIEでは機能しません。ファイルのアップロードに関するjQueryのドキュメントを参照してください。http://jquery.malsup.com/form/#file-upload

この質問は、ジェームズが指摘しているように、以前に尋ねられたものであり、Grailsに固有のものではありません。 ファイルアップロードを含むJQueryAjaxフォームがIEで機能しない

于 2013-03-20T01:19:08.730 に答える
0

Internet Explorer では非表示の iFrame を使用してファイルをアップロードしましたが、他のブラウザーでは、上記のコードを使用して AJAX を使用してファイルをアップロードしました。

于 2013-03-20T04:44:51.060 に答える