動的 Web プロジェクトを作成し、次のコードを使用して画像をアップロードし、同じ場所から取得しています。外部ブラウザーでアプリケーションを実行しようとすると、画像ではなく長方形のボックスが表示されます。外部 Web ブラウザーに読み込まれると、エラー。
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.sql.*;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.fileupload.disk.*;
import org.apache.commons.fileupload.*;
public class UploadImage extends HttpServlet {
private static final long serialVersionUID = 1L;
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
System.out.println("request: " + request);
if (!isMultipart) {
System.out.println("File Not Uploaded");
} else {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = null;
try
{
items = upload.parseRequest(request);
System.out.println("items: " + items);
}
catch (FileUploadException e)
{
e.printStackTrace();
}
Iterator itr = items.iterator();
while (itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if (item.isFormField())
{
String name = item.getFieldName();
System.out.println("name: " + name);
String value = item.getString();
System.out.println("value: " + value);
}
else
{
try
{
String itemName = item.getName();
Random generator = new Random();
int r = Math.abs(generator.nextInt());
String reg = "[.*]";
String replacingtext = "";
System.out.println("Text before replacing is:-"+ itemName);
Pattern pattern = Pattern.compile(reg);
Matcher matcher = pattern.matcher(itemName);
StringBuffer buffer = new StringBuffer();
while (matcher.find())
{
matcher.appendReplacement(buffer, replacingtext);
}
int IndexOf = itemName.indexOf(".");
String domainName = itemName.substring(IndexOf);
System.out.println("domainName: " + domainName);
String finalimage = buffer.toString() + "_" + r+ domainName;
System.out.println("Final Image===" + finalimage);
File savedFile = new File("D:\\test1\\" + "images\\"+ finalimage);
item.write(savedFile);
out.println("<html>");
out.println("<body>");
out.println("<table><tr><td>");
out.println("<img src=D:\\test1\\images\\" + finalimage+ ">");
out.println("</td></tr></table>");
Connection conn = null;
String url = "jdbc:oracle:thin:@//localhost:1521/erp";
String username = "system";
String userPassword = "manager";
String strQuery = null;
try
{
System.out.println("itemName::::: " + itemName);
Class.forName("oracle.jdbc.driver.OracleDriver");
conn = DriverManager.getConnection(url, username,userPassword);
Statement st = conn.createStatement();
strQuery = "insert into testimage values('"+ finalimage + "')";
int rs = st.executeUpdate(strQuery);
System.out.println("Query Executed Successfully++++++++++++++");
out.println("image inserted successfully");
out.println("</body>");
out.println("</html>");
}
catch (Exception e)
{
System.out.println(e.getMessage());
}
finally
{
conn.close();
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
}
}
}