我大概明白了,估计是这个意思,就是客户给你一个URL,这个URL指定一个资源,有可能是图片或者视频,需要把这个资源以BLOB的方式存进数据库里面。
其实这应该是两个步骤,先或者这个资源的HTTP连接,然后存进数据库里面。下面我写了一个DEMO(下载JavaEye的logo放进我的数据库),你参考一下,可能对你有帮助。
[code="java"]
public static void main(String[] args) throws Exception {
URL url = new URL("http://www.iteye.com/images/logo.gif?1212054226");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
InputStream in = conn.getInputStream();
saveBlob(in,in.available());
in.close();
}
static void saveBlob(InputStream in,int len) throws Exception{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123");
PreparedStatement ps = conn.prepareStatement("insert into user_table(id,name,photo) values(?,?,?)");
ps.setInt(1, 100);
ps.setString(2, "testUser1");
ps.setBinaryStream(3, in,len);
int rst = ps.executeUpdate();
System.out.println("insert rst = "+rst);//1就代表正确了
ps.close();
conn.close();
}
[/code]