1

これは私のフォームです:

<form name="CIMtrek_Compliance_Daily_Shipments" enctype="multipart/form-data">
<input type="file" id="CIMtrek_comments" name="CIMtrek_comments" value="" />
    <button id="upload" onclick="uploadCommentFile()">Upload</button>
</form>

これは jquery を使用した私の ajax 呼び出しです:

function uploadCommentFile(){
    $("#upload").live("click", function() {
        var file_data = $("#CIMtrek_comments").prop("files")[0];   // Getting the properties of file from file field
        var form_data = new FormData();                  // Creating object of FormData class
        form_data.append("file", file_data)              // Appending parameter named file with properties of file_field to form_data
        //form_data.append("user_id", 123)                 // Adding extra parameters to form_data
        $.ajax({
                    type: 'POST',
                    url: "/CIMtrek_Compliance_Daily_Shipments_FileUpload",
                    dataType: 'script',
                    cache: false,
                    contentType: false,
                    processData: false,
                    data: {
                         uploadFile:  file_data
                       },
                    success: function (msg) {
                        global.getElementById("CIMtrek_uploadedFileName").innerHTML=msg;
                    }
           })
    })

}

これは私のスプリングコントローラーです:

 @RequestMapping(value = "/CIMtrek_Compliance_Daily_Shipments_FileUpload", method = RequestMethod.POST)
    public String createComments(@RequestParam("uploadFile") CommonsMultipartFile uploadItem,
            HttpServletRequest request) {
        String uploadedFileName="";
        try {
            MultipartFile file = uploadItem;
            String fileName = null;
            InputStream inputStream = null;
            OutputStream outputStream = null;
            if (file.getSize() > 0) {
                inputStream = file.getInputStream();

                System.out.println("size::" + file.getSize());
                fileName = request.getRealPath("") + "/WEB-INF/resources/Attachment"+ file.getOriginalFilename();

                System.out.println("path : "+request.getRealPath("") + "/WEB-INF/resources/Attachment");
                outputStream = new FileOutputStream(fileName);
                System.out.println("fileName:" + file.getOriginalFilename());

                int readBytes = 0;
                byte[] buffer = new byte[10000];
                while ((readBytes = inputStream.read(buffer, 0, 10000)) != -1) {
                    outputStream.write(buffer, 0, readBytes);
                }
                outputStream.close();
                inputStream.close();
            }
            uploadedFileName =file.getOriginalFilename();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return uploadedFileName;
    }

しかし、アップロードボタンをクリックすると、次の例外が発生します。

HTTP Status 400 - 
The request sent by the client was syntactically incorrect.

何が問題なのか、特定するのを手伝ってください。

よろしくお願いします。

4

1 に答える 1

1

これに従って、私の問題を助け、解決しました:

于 2013-01-30T13:18:01.500 に答える