Database 无法在mysql数据库中存储图像。空指针异常 上面是我的html代码。 0) { out.println(“插入成功”); } 其他的 { out.println(“未成功”); } }捕获(例外e){} %>
这是我的jsp文件,我试图将值图像存储在数据库mysql中。 错误在浏览器显示的“文件图像=新文件(myloc);”行中。 当我打印地址时,只有文件名不是完整地址。 当我把地址放在“File image=new File(“C:\images\1.png”);”中时,它运行正常。Database 无法在mysql数据库中存储图像。空指针异常 上面是我的html代码。 0) { out.println(“插入成功”); } 其他的 { out.println(“未成功”); } }捕获(例外e){} %>,database,jsp,blob,Database,Jsp,Blob,这是我的jsp文件,我试图将值图像存储在数据库mysql中。 错误在浏览器显示的“文件图像=新文件(myloc);”行中。 当我打印地址时,只有文件名不是完整地址。 当我把地址放在“File image=new File(“C:\images\1.png”);”中时,它运行正常。 请帮助。您必须添加空检查,至少因为新文件(空)始终抛出NPE,例如: <body> <form name="frm" action="saveImage.jsp" enctype="multipart
请帮助。您必须添加空检查,至少因为
新文件(空)代码>始终抛出NPE,例如:
<body>
<form name="frm" action="saveImage.jsp" enctype="multipart/form-data" method="post">
<input type="file" name="uProperty" /> <br>
<input type="submit" name="goUpload" value="Upload" />
</form>
</body>
Above is my html code.
<%
Connection conn=null;
PreparedStatement pstmt = null;
ResultSet rs=null;
String url="jdbc:mysql://localhost:3306/amber";
FileInputStream fis=null;
String myloc=request.getParameter("pic");
out.print("mylocation="+myloc);
File image= new File(myloc);
out.println(image);
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn=DriverManager.getConnection(url, "root", "sameer0207");
pstmt = conn.prepareStatement("insert into image(image) " + "values(?)");
fis=new FileInputStream(image);
pstmt.setBinaryStream(1,fis, image.length());
int count = pstmt.executeUpdate();
if(count>0)
{
out.println("insert successfully");
}
else
{
out.println("not successfully");
}
}catch(Exception e){}
%>
您需要使用32位的图像存储在数据库中的图像。
要在数据库中存储图像,首先需要将其转换为bit32,然后再存储在数据库中。
同样的过程也适用于数据库中的显示。i、 e.将位32转换为图像并显示
if(myloc != null) {
File f = new File(myloc);
if (f.exists()) {
...
}更多关于答案的上下文会有所帮助。bit32要求是否特定于问题中引用的数据库,如果是,原因是什么?这将有助于未来的读者。
String myloc=request.getParameter("pic"); //assumed that your file object name is "pic" on html page
if (myloc == null) {
throw new NullPointerException("Source must not be null");
if (!Files.exists(myloc)) {
throw new FileNotFoundException("Source '" + myloc + "' does not exist");
out.print("mylocation="+myloc);
File image= new File(myloc);
out.println(image);
}