0

mysql データベースの blob フィールドに画像をアップロードするフォームを作成しました。

サーブレットでは、jsp ページの type="file" フィールド内で想像を取得します。

  Part filePart = request.getPart("Name_of_the_FILE_fields");  

ユーザーが同時により多くの画像をアップロードできるようにしたいので、jsp ページに多くの type="file" フィールドを配置しました。

私はこのようなことができると思った

 Part filePart[] =request.getParameterValues("Name_of_the_FILE_fields");

もちろん、これは正しい方法ではありません。

4

1 に答える 1

0

使用できるスクリプトは次のとおりです。

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {

    String savePath = request.getServletContext().getRealPath("") + File.separator + "files";       

    File fileSaveDir = new File(savePath);
    if (!fileSaveDir.exists()) {
        fileSaveDir.mkdir();
    }

    for (Part part : request.getParts()) {
        String fileName = findFileName(part);
        part.write(savePath + File.separator + fileName);
    }   
}

private String findFileName(Part part) {
    String[] items = part.getHeader("content-disposition").split(";");
    for (String item : items) {
        if (item.trim().startsWith("filename")) {
            return item.substring(item.indexOf("=") + 2, item.length() - 1);
        }
    }
    return "";
}
于 2013-10-19T17:27:15.027 に答える