虚位以待(AD)
虚位以待(AD)
首页 > 软件编程 > Java编程 > ssm框架上传图片保存到本地和数据库示例

ssm框架上传图片保存到本地和数据库示例
类别:Java编程   作者:码皇   来源:互联网   点击:

本篇文章主要介绍了ssm框架上传图片保存到本地和数据库示例,主要使用了Spring+SpringMVC+MyBatis框架集合,有兴趣的可以了解一下。

本文介绍了ssm框架上传图片保存到本地和数据库示例,主要使用了Spring+SpringMVC+MyBatis框架,实现了ssm框架上传图片的实例,具体如下:

1、前台部分

    <%@ page language="java" contentType="text/html;
    charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <script src="resources/jquery/jquery-3.0.0.js"></script> </head> <body> <img id="image"src=""/> <br/> <input type="file"onchange="selectImage(this);
    "/> <br/> <input type="button"onclick="uploadImage();
    "value="提交"/> <script> var image = '';
    function selectImage(file){
    if(!file.files || !file.files[0]){
    return;
    }
    var reader = new FileReader();
    reader.onload = function(evt){
    document.getElementById('image').src = evt.target.result;
    image = evt.target.result;
    }
    reader.readAsDataURL(file.files[0]);
    }
    function uploadImage(){
    image = JSON.stringify(image) $.ajax({
    type:'POST', url: '/blog/test', data: {
    base64: image }
    , async: false, dataType: 'json', success: function(data){
    alert(data.success) if(data.success){
    alert('上传成功');
    }
    else{
    alert('上传失败');
    }
    }
    , error: function(err){
    alert('网络故障');
    }
    }
    );
    }
    </script> <script src="jquery-1.11.1.min.js"></script> </body> </html>

2、controller

    @Inject private IUserService userService;
    @RequestMapping(value="test") @ResponseBody public ConsoleResult test(String base64){
    // 自定义返回前台数据格式 ConsoleResult res = new ConsoleResult();
    // 去掉base64数据头部data:image/png;
    base64,和尾部的” " “ String[] ww= base64.split(",");
    base64 = ww[1];
    String[] aa = base64.split(""");
    base64 = aa[0];
    try {
    // 将图片插入数据库 userService.base64test(base64);
    // 图片保存到本地 String path = "D:/asdfasdf.jpg";
    Base64File file = new Base64File();
    file.decoderBase64File(base64, path);
    // 成功标识 res.setStatus(ConsoleResult.successStatus);
    }
    catch (Exception e) {
    res.setStatus(ConsoleResult.faultStatus);
    }
    return res;
    }

3、base64

    /** * 将base64字符解码保存文件 * * @param base64Code * @param targetPath * @throws Exception */ public static void decoderBase64File(String base64Code, String targetPath) {
    byte[] buffer;
    FileOutputStream out = null;
    try {
    buffer = new BASE64Decoder().decodeBuffer(base64Code);
    out = new FileOutputStream(targetPath);
    out.write(buffer);
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    finally {
    try {
    if (out != null) {
    out.close();
    }
    }
    catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

4、mapper.xml

    <update id="base64Test" parameterType="String"> update t_user set U_ABOUT = #{
    base64}
    where u_name = '971171444' </update>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关热词搜索: ssh框架上传图片 ssm框架实现图片上传