mysql/JSP 二进制数据上传受限是什么原因啊

来源:百度知道 编辑:UC知道 时间:2024/07/14 10:13:23
try {
PreparedStatement ps=null;
File file = new File("c:\\01.jpg");
InputStream photoStream = new FileInputStream(file);
InputStreamReader in=new InputStreamReader(photoStream);

String sql = "update binarystream set filepic=?";
ps = db.Prepare(sql);
out.print((int)file.length());

ps.setBinaryStream(1, photoStream, 4500);
out.print(ps);
ps.executeUpdate();
ps.close();

}
catch (Exception e) {
out.print("11");
String nickname=e.toString();
nickname=new String(nickname.getBytes("ISO8859_1"));
out.print(nickname);

}

上面的 ps.setBinaryStream(1, photoStream, 4500); 通过不了,第三参数只能低于2000可以通过,是不是修改MYSQL的配置文件,我查了很多,就这个可能性比较大的.
我用的是MYSQL,设置的是LONGBOLB型的,不可能是太小的,而且我在数据库里直接插图,很大的都插的进去,用代码写,写不进去,我怀疑是JDBC的驱动

是不是你数据库字段设得太小了?

把你的参数改成file.length()试试
mysql好像限制二进制是2G 至于你用2000和4500不知道是不是因为这个 公司的机子上没api 我回家再去查查