0

モジュールにファイルのアップロードがありtrue、ファイルが選択されていなくても常に表示されます。

以下は私のコードです:

System.out.println("File Request : "+ServletFileUpload.isMultipartContent(request));
        // Check that we have a file upload request
        if(ServletFileUpload.isMultipartContent(request)) {
            FilesInRequest.SaveFiles(request, request.getRealPath(""));
        }

何が間違っている可能性がありますか?

これを見つけて修正するのを手伝ってください。

よろしくお願いします

4

1 に答える 1

1

これはServletFileUpload.isMultipartContent(request)、リクエストのコンテンツ タイプのみをチェックし、マルチパートで始まる場合ServletFileUpload.isMultipartContent(request)は true を返すためです。

私が過去に使用した解決策の 1 つは、リクエストのタイプが正しいかどうかを確認し、MultipartHttpServletRequestを取得しfileMapてファイルが存在するかどうかを確認することでした。

Map<String, MultipartFile> fileMap = new HashMap<String, MultipartFile>();
if (request instanceof MultipartHttpServletRequest) {
    MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
    fileMap = multiRequest.getFileMap();
}
if(fileMap.size() > 0 ) {
}

これがどれほど最適かはわかりません。

于 2013-02-27T13:01:10.550 に答える