mySQL无法存储图片
开发一个通讯录,使用mySQL作为数据库,在处理人物头像时,无法把载入图片,mySQL字符集都是utf8,存储类型mediumblob
我试了两种方法,第一种是直接写路径
第二种方法是使用filechooser选择路径
运行结果You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\"?‘?O?z?xb:???XF??!?^\'_???$è“?é?·
!%?IIkHè·?-???i?·?&é?…mè????????????…' at line 1
确实是乱码,这个乱码看起来应该是路径的,因为我选择不同的图片时,这个乱码的长度不一样
现在很困惑,希望能在这里遇到高手
我试了两种方法,第一种是直接写路径
File file=new File("src\\image\\head.png");
FileInputStream fis=new FileInputStream(file);
ps.setBinaryStream(10, fis, (int)file.length());第二种方法是使用filechooser选择路径
File file = new File(m.getPicturePath());
in = new FileInputStream(file);
ps.setBinaryStream(10, in, (int) file.length());
//其中m为另一个类
// getPicturePath()方法如下,就是通过文件选择器得到图片的绝对路径
JFileChooser fileChooser = new JFileChooser(); // 创建文件对话框
// 创建文件过滤
FileFilter filter = new FileNameExtensionFilter(
"图像文件(*.gif;*.jpg;*.jpeg;*.png)", "gif",
"jpg", "jpeg", "png");
fileChooser.setFileFilter(filter); // 为文件对话框设置文件过滤器
int returnValue = fileChooser.showOpenDialog(null);// 打开文件选择对话框
if (returnValue == JFileChooser.APPROVE_OPTION) { // 判断是否选择了文件
String name=fileChooser.getSelectedFile().getPath();
ImageIcon icon=new ImageIcon(name);
//等比缩放条件
int imgWidth=icon.getIconWidth();
int imgHeight=icon.getIconHeight();
int conWidth=lbl_picture.getWidth();
int conHeight=lbl_picture.getHeight();
int reImgWidth;
int reImgHeight;
if(imgWidth/imgHeight>=conWidth/conHeight){
if(imgWidth>conWidth){
reImgWidth=conWidth;
reImgHeight=imgHeight*reImgWidth/imgWidth;
}else{
reImgWidth=imgWidth;
reImgHeight=imgHeight;
}
}else{
if(imgWidth>conWidth){
reImgHeight=conHeight;
reImgWidth=imgWidth*reImgHeight/imgHeight;
}else{
reImgWidth=imgWidth;
reImgHeight=imgHeight;
}
}
File file = fileChooser.getSelectedFile(); // 获得文件对象
picturePath = file.getAbsolutePath();
运行结果You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '\"?‘?O?z?xb:???XF??!?^\'_???$è“?é?·
!%?IIkHè·?-???i?·?&é?…mè????????????…' at line 1
确实是乱码,这个乱码看起来应该是路径的,因为我选择不同的图片时,这个乱码的长度不一样
现在很困惑,希望能在这里遇到高手
...全文
相关推荐
mysql存储和显示图片
根据图片文件的大小选择合适的BLOB类型至关重要,这样可以确保既不会浪费存储空间也不会因为超出限制而无法存储图片。
php下将图片以二进制存入mysql数据库中并显示的实现代码
在PHP中,将图片以二进制数据存储到MySQL数据库中是一种特殊的需求,通常不推荐,因为这可能会增加数据库负担,不利于性能优化。
基于JSP及MySql数据库的图片存储和显示技术初探.pdf
【基于JSP及MySql数据库的图片存储和显示技术初探】随着Web应用程序的发展,图片在网页中的使用越来越频繁,传统的文件系统存储方式逐渐无法满足高效管理和大量图片数据的需求。
将图片储存在MySQL数据库中的几种方法
例如,在一个Web应用中,图片被上传到服务器的一个特定目录下,然后将该路径存储在MySQL数据库的一个字段里。
深入mysql创建自定义函数与存储过程的详解
由于MySQL的标准函数无法直接解决这个问题,因此需要创建一个自定义函数`hashDiff`。创建自定义函数的步骤如下:1. 打开MySQL命令行客户端。2.


Java SE
