在java代码中怎么从服务器上把图片拿来放到数据库里

前端把图片传到服务器上,后台怎么获取到图片放入数据库中... 前端把图片传到服务器上,后台怎么获取到图片放入数据库中 展开
 我来答
小鸟云企业级云产品
2019-04-16 · 专注为用户提供一站式核心网络云端部署服务
小鸟云企业级云产品
小鸟云始终本着质量为本、客户为根、勇于拼搏、务实创新的理念,不断提升产品硬件性能、创新底层虚拟化技术、革新用户服务体验,助力更多的合作伙伴、中小企业、开发者能够受益于云计算带来的便利和价值!
向TA提问
展开全部
大概流程:
1.上传插件的选择:此篇博文选择的是jQuery的zyupload文件上传插件;
2.上传请求发起后,java代码的处理:你是要将上传的图片只保存在服务器还是只保存在数据库还是说两者都采取。上传到服务器很简单,保存到数据库也很简单,但是此处需要考虑业务,图片保存在数据库时采用哪种保存方式(本博文业务来自于项目,因为图片数量巨多,故在数据库是通过保存图片的路径实现的,并非二进制流);
3.图片保存在数据库后,在前段页面的回显功能。
虞姬戏项羽
2019-04-15 · TA获得超过952个赞
知道小有建树答主
回答量:959
采纳率:58%
帮助的人:145万
展开全部
一般不这么存,一般是把图片存到服务器上某个文件夹,然后存路径。真的要存图片,可以把图片转换成二进制。不过,你要是这么存,就显得很蠢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无野楼升域醉0t
2019-04-16 · TA获得超过8552个赞
知道小有建树答主
回答量:1498
采纳率:88%
帮助的人:501万
展开全部

看你用的是么数据库,一般是读取后转成二进制blob格式存入数据库的BLOB类型的字段中,另一种方法是把图片转成字符串存入数据库。

如果我没记错的话 png格式的图片(要不就是gif)都不需要转回图片,直接指定到<img>标签的src属性上就能显示。

附上图片字符串互转的java代码:

/**
  * base64编码字符串转换为图片
  * @param imgStr base64编码字符串
  * @param path 图片路径
  * @return
  */
 public static boolean base64StrToImage(String imgStr, String path) {
   if (imgStr == null)
   return false;
   BASE64Decoder decoder = new BASE64Decoder();
   try {
     
     byte[] b = decoder.decodeBuffer(imgStr);
     // 处理数据
     for (int i = 0; i < b.length; ++i) {
       if (b[i] < 0) {
         b[i] += 256;
       }
     }
     //文件夹不存在则自动创建
     File tempFile = new File(path);
     if (!tempFile.getParentFile().exists()) {
       tempFile.getParentFile().mkdirs();
     }
     OutputStream out = new FileOutputStream(tempFile);
     out.write(b);
     out.flush();
     out.close();
     return true;
   } catch (Exception e) {
     return false;
   }
 }
/**
  * 图片转base64字符串
  * @param imgFile 图片路径
  * @return
  */
 public static String imageToBase64Str(String imgFile) {
   InputStream inputStream = null;
   byte[] data = null;
   try {
     inputStream = new FileInputStream(imgFile);
     data = new byte[inputStream.available()];
     inputStream.read(data);
     inputStream.close();
   } catch (IOException e) {
     e.printStackTrace();
   }
  
   BASE64Encoder encoder = new BASE64Encoder();
   return encoder.encode(data);
 }
public static void main(String[] args) {
    String base64Str = imageToBase64Str("D:/pic/001.jpg");
    System.out.println(base64Str);
     
    boolean b = base64StrToImage(base64Str, "D:/pic/temp/002.jpg");
    System.out.println(b);
  }
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
54lhlLHL45
2019-04-16 · TA获得超过114个赞
知道答主
回答量:97
采纳率:50%
帮助的人:14.8万
展开全部
图片上传到服务器本地,返回一个路径,然后把图片路径存到数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式