我正在使用jsp& servlet
创建一个网站我想问:
将图像存储在数据库(mysql)并检索它的最佳方法是什么
将其用作个人资料的图片
我该怎么做?
提前谢谢大家。
答案 0 :(得分:3)
两种常见的解决方案:
直接在数据库中的字节字段
,路径存储在数据库中(我个人喜欢使用文件的SHA1作为名称,所以我不能有两次相同的文件,路径为a / b / cdef if SHA1是abcdef)
两种解决方案都运行良好。第一种解决方案有利于只备份一个文件,启用回滚等。第二种可能更自然,因为磁盘文件系统用于存储文件。
答案 1 :(得分:2)
将图像保存在服务器上的文件夹中。 在db中保存图像路径。 在显示时从db获取图像路径并检索图像。
答案 2 :(得分:1)
将图像存储在数据库中。
import java.sql.*;
import java.io.*;
public class insertImage{
public static void main(String[] args) {
System.out.println("Insert Image Example!");
String driverName = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/";;
String dbName = "databasename";
String userName = "root";
String password = "root";
Connection con = null;
try{
Class.forName(driverName);
con = DriverManager.getConnection(url+dbName,userName,password);
Statement st = con.createStatement();
File imgfile = new File("images.jpg");
FileInputStream fin = new FileInputStream(imgfile);
PreparedStatement pre = con.prepareStatement("insert into Tablename values(?)");
pre.setBinaryStream(3,fin,(int)imgfile.length());
pre.executeUpdate();
System.out.println("Inserting Successfully!");
pre.close();
con.close();
}
catch (Exception e){
System.out.println(e.getMessage());
}
}
}
使用Servlet从数据库中检索图像 http://www.roseindia.net/servlets/retreiveimage.shtml