0

私の質問はこれと重複しているかもしれませんが、マルチパート HTTP リクエストを処理する方法がわかりません。

POST を使用してファイルと文字列を送信する HTTP リクエストを作成しました。私のサーブレットでサーバー側で両方を取得する方法は?

これが私がしたことです。私は正しい道を進んでいますか?

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Gson gson = new Gson();
    Status status = new Status();

    boolean isMultipart = ServletFileUpload.isMultipartContent(request);
    if(isMultipart){
        status.setSuccess(true);
        status.setDescription("It is OK.");
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(MAX_MEMORY_SIZED);
        factory.setRepository(new File(ADRESS_WHERE_I_WANT_TO_PUT_THE_FILE));
        ServletFileUpload upload = new ServletFileUpload(factory);
        upload.setSizeMax(MAX_FILE_SIZE_TO_BE_UPLOADED);
        try {
            List<FileItem> items = upload.parseRequest(request);
            Iterator iter = items.iterator();
            while (iter.hasNext()) { 

            ... // WHAT TO DO HERE TO GET MY STRING AND MY FILE ???

            }
    }
    else{
        status.setSuccess(false);
        status.setDescription("Not multipart.");
    }
    response.setContentType("application/json;charset=UTF-8");
    response.setCharacterEncoding("UTF-8");
    PrintWriter output = response.getWriter();
    output.write(gson.toJson(status));
    output.flush();
}
4

1 に答える 1

0

servlets.comで入手できるMultipartParserを調べてみます。

ウェブサイトから:

車輪を再発明しても意味がありません。使用できるいくつかのサーブレット サポート クラスを作成しました。最も有名なのは、ファイル アップロード パッケージの MultipartRequest と MultipartParser です。

于 2012-08-07T15:54:33.270 に答える