-1

jspページで画像ファイルをアップロードし、そのJspページをサーブレットに転送しました.サーブレットでその画像を取得し、その画像をデータベースに追加したい.......誰もがサーブレットで画像を取得する方法を説明できますかその画像をデータベースに追加しますか? 例: request.getParameter("string"); を使用して文字列を取得できます。同様に、画像を取得するための定義済みの方法はありますか? 例: prepareStatement.setInt(colomnindex); 同様に、DataBase に画像を追加する定義済みの方法はありますか?

4

2 に答える 2

0

まず、JSP を使用してアップロードするファイルを選択します。少なくとも、ファイル参照フィールドを表示する HTML 要素が必要です。

<form action="upload" method="post" enctype="multipart/form-data">
   <input type="file" name="file">
   <input type="submit">
</form>

アップロードされたファイルをサーブレット内で取得するには、

List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request);
for (FileItem item : items) {
   if (!item.isFormField()) {
    // <input type="file">
    System.out.println("Field name: " + item.getFieldName());
    System.out.println("File name: " + item.getName());
    System.out.println("File size: " + item.getSize());
    System.out.println("File type: " + item.getContentType());
  } else {
    // <input type="text|submit|hidden|password|button">, <select>, <textarea>,<button>
    System.out.println("Field name: " + item.getFieldName());
    System.out.println("Field value: " + item.getString());
  }              
 }

FileItem オブジェクトから InputStream を取得し、それを任意の OutputStream に書き込むだけです。

   InputStream content = item.getInputStream();
                     OR
   item.write(new File("/uploads/filename.ext"));
于 2013-01-17T09:56:03.150 に答える
0

このようなもの

HTML/JSP

< input type="file" name="foto" />

サーベット

String fotoURL = req.getParameter("foto");
        System.out.println(fotoURL);
        URL urlFoto = null;
        urlFoto = getClass().getClassLoader().getResource(fotoURL); 


        System.out.println(urlFoto);
        BufferedImage foto = ImageIO.read(urlFoto);
于 2013-01-17T09:13:58.490 に答える