タイトルと同じように、アップロードフォームを使用してPDFファイルをストレージフォルダー(例:uploadData)に追加し、JSPでもファイルとしてデータベースに追加する方法を尋ねたいと思います。
それが不可能な場合は、データベースにテキストとして追加してもかまいません。
ファイルとして可能であれば、そのpdfのテーブルのタイプは何ですか?ブロブ?またはテキスト?
私は自分の問題に関連するブログリンク/その他のリンクを受け入れます
英語が下手でごめんなさい。
タイトルと同じように、アップロードフォームを使用してPDFファイルをストレージフォルダー(例:uploadData)に追加し、JSPでもファイルとしてデータベースに追加する方法を尋ねたいと思います。
それが不可能な場合は、データベースにテキストとして追加してもかまいません。
ファイルとして可能であれば、そのpdfのテーブルのタイプは何ですか?ブロブ?またはテキスト?
私は自分の問題に関連するブログリンク/その他のリンクを受け入れます
英語が下手でごめんなさい。
サーブレット3.0コンテナは、マルチパートデータを標準でサポートしています。また、ローカルファイルシステムへの書き込みもサポートしています。まず、他の入力パラメータとともにファイル入力を受け取るHTMLページを作成する必要があります。
<form action="uploadservlet" method="post" enctype="multipart/form-data">
<input type="text" name="name" />
<input type="text" name="age" />
<input type="file" name="photo" />
<input type="submit" />
</form>
次に、サーブレット3.0アップロードAPIを使用するUploadServletを記述します。APIの使用法を示すコードは次のとおりです。マルチパートデータを処理するサーブレットは、次の2つのアプローチのいずれかを使用してMultiPartConfigを定義する必要があります。
これがUploadServletです。
@MultipartConfig
public class UploadServlet extends HttpServlet
{
protected void service(HttpServletRequest request,
HttpServletResponse responst) throws ServletException, IOException
{
Collection<Part> parts = request.getParts();
if (parts.size() != 3) {
//can write error page saying all details are not entered
}
Part filePart = httpServletRequest.getPart("photo");
InputStream imageInputStream = filePart.getInputStream();
//read imageInputStream
filePart.write("somefiepath");
//can also write the photo to local storage
//Read Name, String Type
Part namePart = request.getPart("name");
if(namePart.getSize() > 20){
//write name cannot exceed 20 chars
}
//use nameInputStream if required
InputStream nameInputStream = namePart.getInputStream();
//name , String type can also obtained using Request parameter
String nameParameter = request.getParameter("name");
//Similialrly can read age properties
Part agePart = request.getPart("age");
int ageParameter = Integer.parseInt(request.getParameter("age"));
}
}
Sevlet 3.0 Containerを使用していない場合は、Apache CommonsFileUploadを使用する必要があります。Apache CommonsFileUploadを使用するためのリンクは次のとおりです。
参照:
ファイルのアップロードを処理するために私が知っている最も簡単な方法は、CommonsFileUploadを使用することです。ドキュメントには、アップロードされたファイルをファイルに簡単にコピーする方法など、アップロードされたファイルを受け入れる方法の概要が段階的に示されています。
PDFをデータベースに入れることにした場合(私はそうしません)、BLOBが最良の選択であり、PDFファイルはテキストではありません。
ただし、JSPではなくサーブレットにすべてのロジックを詰め込むことをお勧めします。