博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dojo + jersey 上传图片到数据库
阅读量:5848 次
发布时间:2019-06-19

本文共 2480 字,大约阅读时间需要 8 分钟。

很气愤的一件事,我刚刚写好的一篇博客,点击提交时,博客园的程序报错!白写了!现在大家看到这篇是减缩版,代码是可以使用的,只是有些解释型语言,我不想在重复一遍了,希望博客园的管理者好好管理,不要再出现类似问题了。

使用jersey发布上传图片服务需要依赖两个jar包:jersey-multiart.jar,mimepull.jar

前端html:

javascript:

uploadImg: function(form){                    var myhostname = "http://" + window.location.hostname + ":"                    + window.location.port;                    var url = myhostname + "/TrackingSys/services/ConductControl/uploadImg";                                        form.ids = this.getStrIds();                    console.log(form);                    iframe(url, {                        form: form,                        //url: url,                        method: 'POST',                        handleAs: "html"                    }).then(lang.hitch(this, 'uploadSuccess'), lang.hitch(this, 'err'));                },                                uploadSuccess: function(res){                    var contentNode = res.childNodes[0];                    if (contentNode){                        var content = contentNode.textContent? contentNode.textContent : contentNode.innerText;                        var data = JSON.parse(content);                        console.log(data);                    }                },
后台:注意返回的格式

@POST @Path("/uploadImg")    @Consumes(MediaType.MULTIPART_FORM_DATA)  // 消费注解必须是这个类型    @Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })    public String uploadImg(@FormDataParam("file") InputStream uploadedStream,            @FormDataParam("ids") String ids, @FormDataParam("terminalid") String terminalid){            String[] checkIds = ids.split(",");        String result = dao.sendImgToTerminal(terminalid, uploadedStream, checkIds);        String re = "{\"result\":\"" + result + "\"}";        return re;    }
插入图片部分:不能使用被注释掉的那种写法

rpt = conn.prepareStatement(sql);        BufferedInputStream bs = new BufferedInputStream(picData);        ByteArrayOutputStream outputStream=new ByteArrayOutputStream();                byte[] bytes = new byte[1024];        int len=picData.read(bytes);        while (len != -1) {            outputStream.write(bytes, 0, len);            len=picData.read(bytes);        }        rpt.setBytes(1, outputStream.toByteArray());        //rpt.setBinaryStream(1, picData,picData.available() );        rpt.setInt(2, imageId);        rpt.executeUpdate();

转载地址:http://xdkjx.baihongyu.com/

你可能感兴趣的文章
Why MapReduce?
查看>>
C++中的函数指针模板
查看>>
Linux SSH远程文件/目录传输命令scp
查看>>
【HDOJ】1556 Color the ball
查看>>
数组应用之————二分法查找
查看>>
项目实战-友盟项目介绍以及环境搭建
查看>>
2015年个人总结
查看>>
C#编程(六)------------枚举
查看>>
js点击下载跳转iOS或安卓
查看>>
高性能 Windows Socket 组件 HP-Socket v2.3.1-beta-2 发布
查看>>
零基础学python-2.24 一些经常使用函数
查看>>
hdu4762Cut the Cake(概率+大数操作(java)+C++高精度模板)
查看>>
Codeforces Round #256 (Div. 2) B. Suffix Structures
查看>>
栈3--后缀表达式
查看>>
JAVA interrupte中断线程的真正用途
查看>>
ZOJ 3316 Game 一般图最大匹配带花树
查看>>
linux后台运行jar程序
查看>>
Ubuntu 16.04安装Eclipse
查看>>
java中Object转String
查看>>
需求用例分析之备选流
查看>>