精华内容
下载资源
问答
  • 如果是静态图片的话,直接放在前台的项目包里,用路径直接指示就可以,但如果图片...封装好,传到前台,前台再根据需要进行解析,展示。 看代码: String img_1 = getBase64(reportPath + "\\" + id + "_chart12.png");

    如果是静态图片的话,直接放在前台的项目包里,用路径直接指示就可以,但如果图片是后台根据需要随时生成的,就不能用这种方法了,我想到了一个方法,供大家交流,如果您有更好的方法,请留个言。
    具体思路:
    在后台先把图片转成二进制数组,再把二进制数组转成base64的编码,这样就能减少字符串长度,然后在做对应的文件格式修饰。封装好,传到前台,前台再根据需要进行解析,展示。
    看代码:

    String img_1 = getBase64(reportPath + "\\" + id + "_chart12.png");
    

    转换方法:

    public  String getBase64(String imgPath) {
            String imgStr = "";
            try {
                File file = new File(imgPath);
                FileInputStream fis = new FileInputStream(file);
                byte[] buffer = new byte[(int) file.length()];
                int offset = 0;
                int numRead = 0;
                while (offset < buffer.length && (numRead = fis.read(buffer, offset, buffer.length - offset)) >= 0) {
                    offset += numRead;
                }
                if (offset != buffer.length) {
                    throw new IOException("Could not completely read file " + file.getName());
                }
                fis.close();
                BASE64Encoder encoder = new BASE64Encoder();
                imgStr = encoder.encode(buffer);
            } catch (Exception e) {
                e.printStackTrace();
            }
            return "data:image/png;base64," + imgStr;
        }
    

    返回时加上的文件格式修饰,很重要,必须有
    传到前台,这样使用:

     var jsonObj=JSON.parse(result);
    $("#img_1").attr("src",jsonObj.img_1);
    $("#img_2").attr("src",jsonObj.img_2);
    

    当然jQuery选择器选择的肯定是img标签,别整个div说怎么加载不上。
    这是我自己项目中测试过的方法,请放心使用

    展开全文
  • 很多时候对于敏感信息我们不能直接给前台传值,防止别人爬走,就只能给前台以图片的形式过去了,这个方法就是解决这个问题的,用了html2image.jar

    1:获取数据放map之后,调用WaterImage 

    if (recordMap != null) {
        WaterImage waterImage = new WaterImage();
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        try {
            ImageIO.write(waterImage.createImage(recordMap), "jpg", out);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return out.toByteArray();
    }
    2:createImage方法

    package com.rjcloud.util;
    
    import com.rjcloud.api.entity.*;
    import gui.ava.html.image.generator.HtmlImageGenerator;
    import org.apache.commons.collections.map.HashedMap;
    
    import javax.imageio.ImageIO;
    import java.awt.*;
    import java.awt.font.FontRenderContext;
    import java.awt.geom.Rectangle2D;
    import java.awt.image.BufferedImage;
    import java.io.File;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Map;
    
    
    public class WaterImage {
        private int imgWidth = 200;
    
        private int imgHeight = 20;
    
        private int size = 14;
    
        public void setImgHeight(int imgHeight) {
            this.imgHeight = imgHeight;
        }
    
        public int getImgWidth() {
            return this.imgWidth;
        }
    
        public void setImgWidth(int imgWidth) {
            this.imgWidth = imgWidth;
        }
    
        public int getSize() {
            return size;
        }
    
        public void setSize(int size) {
            this.size = size;
        }
    
        String getShowStr(String str){
            return str==null?"":str;
        }
        public BufferedImage createImage(Object obj) {
    
            HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
            StringBuffer stringBuffer=new StringBuffer();
    
    
            //把值放在html里面
                Map<String, Object> map= (Map<String, Object>) obj;
                // stringBuffer.append("<br /><div style='text-align: center ;font-size:18px'><b>"+entity.getCf_cfmc()+"</b></div><br />");
                SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    
                stringBuffer.append(
                        " <div id='frame_article_l_warp' class='article_dt' style='display: block;width: 100%;" +
                                "background-image: url(../images/article_06.gif);background-repeat: repeat-y;" +
                                "background-position: 0px 0px;height: auto;!important;height: 100%;overflow: hidden;'>" +
                                "<div class='article_2_s' id='frame_list_s' style='background-image: url(../images/article_03.gif);background-repeat: no-repeat;" +
                                "background-position: 0px top;display: block;width: 100%;height: 100%;height: auto;!important;overflow: hidden;'>" +
                                "<div class='article_2_x' id='frame_list_x' style='background-image: url(../images/article_19.gif);background-repeat: no-repeat;" +
                                "background-position: 0px bottom;display: block;width: 100%;" +
                                "height: 100%;height: auto;!important;overflow: hidden;'>" +
                                "<div class='article_con_bg' id='mod_article_con' >" +
    
                                "            <div id='data_article_title'>" +
    
                                "              <div class='title' id='cms_article_title' style='line-height:100px;width:1000px;" +
                                "border-width:0 0 1px 0;text-align:center;padding-top: 20px;word-wrap: break-word;word-break:break-all;" +
                                "padding-right: 20px;padding-bottom: 0;padding-left: 20px;font-size:33px;'>"+""+"</div>" +
                                "            </div>" +
    
                                "            <div id='data_article_content'>" +
    
                                "              <div class='con' id='cms_article_content' style='display: block;font-size:14px;line-height: 1.7;text-align: left;/*(火狐)*/" +
                                "text-justify:inter-ideograph;/*(IE)*/font-size:16px;'>" +
                                "                <table width='1000px' border='0' cellspacing='0' cellpadding='0' class='x_x' style='margin-top: 15px;margin-bottom: 15px;border-collapse: collapse;'>" );
               int i=1;
                for(Object key2 : map.keySet()){
                    if(i%2!=0&&i!=map.keySet().size()) {
                        stringBuffer.append("<tr><td align='center' class='d_sk' style='background-color: #D9F0FF;color: #006699;border: 1px dashed #999;" +
                                "padding: 5px;'><font style='background-color: #D9F0FF;display: block;'>" + key2 + "</font></td>" +
                                "<td style='color: #006699;border: 1px dashed #999;" +
                                "padding: 5px;'>" + map.get(key2) + "</td>");
                    }else if(i%2!=0&&i==map.keySet().size()){
                        stringBuffer.append("<tr><td align='center' class='d_sk' style='background-color: #D9F0FF;color: #006699;border: 1px dashed #999;" +
                                "padding: 5px;'><font style='background-color: #D9F0FF;display: block;'>" + key2 + "</font></td>" +
                                "<td style='color: #006699;border: 1px dashed #999;" +
                                "padding: 5px;'>" + map.get(key2) + "</td></tr>");
                    }else{
                        stringBuffer.append("<td align='center' class='d_sk' style='background-color: #D9F0FF;color: #006699;border: 1px dashed #999;" +
                                "padding: 5px;'><font style='background-color: #D9F0FF;display: block;'>" + key2 + "</font></td>" +
                                "<td style='color: #006699;border: 1px dashed #999;" +
                                "padding: 5px;'>" + map.get(key2) + "</td></tr>");
                    }
                    i++;
                }
                stringBuffer.append(" </table>" +
                                               " </div>" +
                                                " </div>" +
                                                   "</div>" +
                                              "</div>" +
                                                  "</div>" +
                                                  " </div>" +
                                                   "</div>");
            }
    
    
    //        stringBuffer.append("</body>");
    //        stringBuffer.append("</html>");
            imageGenerator.loadHtml(stringBuffer.toString());
            return imageGenerator.getBufferedImage();
        }
       
        public static void main(String[] args) {
    
            HtmlImageGenerator imageGenerator = new HtmlImageGenerator();
    
            imageGenerator.loadHtml("<b>Hello World!</b> Please goto <a title=\"Goto Google\" href=\"http://www.google.com\">Google</a>.");
    
            imageGenerator.saveAsImage("hello-world.png");
    
            imageGenerator.saveAsHtmlWithMap("hello-world.html", "hello-world.png");
    //        WaterImage create = new WaterImage();
    //        System.out.println(create.create("中华人民共和国万岁中华人民共和国万岁中华人民共和国万岁中华人民共和国万岁!", "c:/", 500, 38));
        }
    }
    
    
    3:把返回的byte处理
    response.setCharacterEncoding("UTF-8");
    response.setContentType("image/gif");
    try {
        OutputStream out = response.getOutputStream();
    
        byte[] bytes = cmsService.getCreditImg(id,tableid,"","");
        ByteArrayInputStream in = new ByteArrayInputStream(bytes);
        BufferedImage image = ImageIO.read(in);
        int h = image.getHeight();
        int w=image.getWidth();
    
        BufferedImage inputbig = new BufferedImage(w, h,BufferedImage.TYPE_INT_BGR);
        inputbig.getGraphics().drawImage(image, 0, 0, w, h, null); //画图
    
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        ImageOutputStream imageOutputStream = ImageIO.createImageOutputStream(baos);
    
        ImageIO.write(inputbig, "jpg", imageOutputStream);
        out.write(baos.toByteArray());
        out.flush();
    } catch (Exception e) {
        e.printStackTrace();
    }

    
    

    展开全文
  • 做一个上传图片的功能,from表单还行,这一换成angularjs瞬间蒙了,求大神指点一下。。
  • JAVA使用字节流将本地图片传到前端

    万次阅读 2018-04-09 10:18:55
    JAVA使用字节流将本地图片传到前端 01.基本介绍 02.代码介绍 03.结果展示 JAVA使用字节流将本地图片传到前端 01.基本介绍 在我们日常的开发中,会遇到对验证码的使用问题(验证码的作用这里不多多说,...

    JAVA使用字节流将本地图片传到前端

    01.基本介绍

    在我们日常的开发中,会遇到对验证码的使用问题(验证码的作用这里不多多说,避免程序被恶意攻击等),如何是的前端和后端保持一致是一个问题,当然本程序不是介绍如何去写一个使用前端去显示一个验证码,并且验证码的值与后台的数据保持一致的问题,只是接一个使用java把本地图片写到前端html页面以提供一种思想去抛砖引玉。并且本博客是围绕一个使用java调用python获取中文分词的结果,以及与之对应的词云图片的系统进行展开的,在各个部分的技术要点讲解完了之后,博主将在最后将程序源码放到百度云上,供读者参考学习。

    02.代码介绍

    后台代码,这是一个servlet程序

    public class WCServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        /**
         * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
         */
        protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String r = request.getParameter("r");
            //使用字节流读取本地图片
            ServletOutputStream out=null;
            BufferedInputStream buf=null;
            //创建一个文件对象,对应的文件就是python把词云图片生成后的路径以及对应的文件名
            File file = new File("E:\\Java\\eclipse_code\\NLP\\WebContent\\source\\wordcloud.png");
            try {
                //使用输入读取缓冲流读取一个文件输入流
                buf=new BufferedInputStream(new FileInputStream(file));
                //利用response获取一个字节流输出对象
                out=response.getOutputStream();
                //定义个数组,由于读取缓冲流中的内容
                byte[] buffer=new byte[1024];
                //while循环一直读取缓冲流中的内容到输出的对象中
                while(buf.read(buffer)!=-1) {
                    out.write(buffer);
                }
                //写出到请求的地方
                out.flush();
            }catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }finally {
                if(buf!=null) buf.close();
                if(out!=null) out.close();
            }
            //传输结束后,删除文件,可以不删除,在生成的图片中回对此进行覆盖
            File file1 = new File("E:\\Java\\eclipse_code\\NLP\\WebContent\\source\\wordcloud.png");
            file1.delete();
            System.out.println("文件删除!");
        }
        protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            // TODO Auto-generated method stub
            doGet(request, response);
        }
    }
    

    前端代码:

        <!-- 词云 -->
                <div class="row col-sm-12">
                <button type="button" class="btn btn-default" id="picbtn" >云图</button>
                    <div align="center" id="dpic">
                        <img alt='文本分析的云图' src='' id='pic'>
                    </div>
                </div>

    这里使用一个JavaScript去控制的在https://blog.csdn.net/meiqi0538/article/details/79861704已有介绍

    <script type="text/javascript">
            /* 在页面加载完成后使用*/
                $(function(){
                /*一个定时函数,获取时间的 */
                    setInterval(showtime,1000);
                    /* 函数处理,使用的是异步请求ajax技术*/
                    $("#sbtn").click(function(){
                    /* 创建一个layer load对象*/
                        var ii=layer.load();
                        /*ajax进行请求 */
                        $.ajax({
                        /*请求方式 */
                            type:'POST',
                            /*请求的地址 */
                            url:'${pageContext.request.getContextPath()}/nlp',
                            /* 请求的参数和内容*/
                            data:{text:$("#textareaCode").val()},
                            /* 数据格式为json*/
                            dataType:'json',
                            /* 请求成功后,返回结果result,写一个函数进行处理*/
                            success:function(result){
                                //清空之前的内容,避免数据都叠加在一起
                                $("#rview").empty();
                                /* 给指定区域写内容,也就是要显示的地方*/ 
                                $("#rview").prepend(result); 
                                /*为标签写属性,这里我使用的是java的数据流方式传递图片到页面,类似于验证码原理 */
                                $("#pic").attr("src","${pageContext.request.contextPath }/wc");
                                /* 处理结束后关闭遮罩层*/
                                layer.close(ii);
                            }
                        });
    
                    });
                });
                function showtime(){
                    var t=new Date();
                    var weekday=new Array(7);
                    weekday[0]="周日";
                    weekday[1]="周一";
                    weekday[2]="周二";
                    weekday[3]="周三";
                    weekday[4]="周四";
                    weekday[5]="周五";
                    weekday[6]="周六";
                    document.getElementById("time").innerHTML="当前时间:"+t.getFullYear()+"年"+(t.getMonth()+1)+"月"+t.getDate()+"日"
                    +weekday[t.getDay()]+" "+t.getHours()+":"+t.getMinutes()+":"+t.getSeconds();
                }
            </script>

    03.结果展示

    这是python对javaweb前端传递的参数(文字),分词结果,并产生的图片
    这里写图片描述

    展开全文
  • 想通过ajax方式数据传递后台,然后批量删除![图片说明](https://img-ask.csdn.net/upload/201910/05/1570206339_458246.png) 前后台代码应该怎么样传递 ![图片说明]...
  • vue 图片转base64传到后台

    千次阅读 2017-10-17 19:12:12
    注意不要参数! methods里面写方法: onUpload(e) { var file = e.target.files[0] var reader = new FileReader() var that = this reader.readAsDataURL(file)

    传文件:
    1传流
    2传base64

    2明显优于1

    <img data-cke-saved-src="data:image/png;base64,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" src="data:image/png;base64,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" alt="" />
    
    

    注意不要传参数!

     

    methods里面写获取base64的方法:主要用:FileReader

     

     

    	 //获取文件  
        var file = $("#imgForm").find("input")[0].files[0];  
      
        //创建读取文件的对象  
        var reader = new FileReader();  
      
        //创建文件读取相关的变量  
        var imgFile;  
      
        //为文件读取成功设置事件  
        reader.οnlοad=function(e) {  
            alert('文件读取完成');  
            imgFile = e.target.result;  
            console.log(imgFile);  
            $("#imgContent").attr('src', imgFile);  // 可以直接显示图片
        };  
      
        //正式读取文件  
        reader.readAsDataURL(file); 

     

     

     

    拿到base 传递给后台就可以了

     

     

     

    后面就不写了、大家都会。

    效果图(base64打在地址):

     

     

    当然还可以html5的formData获取流:

     

      待续~~

     

     

     

     

     

     

     

     

     


     

     

    展开全文
  • 拍照后,点击选择照片在-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaWithInfo:(NSDictionary *)info 的代理方法中获取了相册的Alasset后,发现为空解决办法:-(void)...
  • 后台是asp的。用input上传图片,怎么传到目标文件夹呢?
  • 在我们打代码中,我们总是会遇到到A 页面跳转到B页面同时A页面获取的值传到B页面,下面我将分享到当页面跳转到B页面时我怎样获取到A页面的数值并传送到B页面,首先是A页面的图片: 从上图中我们可以很清楚的看到...
  • 手机上的照片批量传到电脑里

    千次阅读 2020-02-25 21:39:06
    1、同时在电脑和手机上登录QQ。...5、在电脑端QQ“我的Android手机”界面,选择要导出的相册和照片,选择照片的存放位置。 6、照片导出成功后,可以在电脑上查看导出的手机照片。 浪费我好多时间,...
  • 微信小程序wxml&lt;view class='id' &gt;身份证正面&lt;/view&gt;&lt;image class="xd-img-user1" catchtap="...微信小程序js //选照片 chooseImageTap: function () { let _
  • ![图片说明](https://img-ask.csdn.net/upload/201507/23/1437635283_26460.png)
  • net的web系统如何在平板电脑的Android系统中开启摄像头拍照功能???~~~~
  • 要将数据库mysql的值传到jsp显示页面,例如,价钱要传到前台的一个图片说明中。
  • 我今天写了一个发布新闻的表单,有一些参数,还有图片,我想上传后台,可是有一个属性怎么也不过去,一直是null,怎么解决呢?
  • asp.net传图片到数据库

    2016-05-06 12:36:42
    asp.net传图片到数据库如何获取图片地址并把图片地址保存数据库
  • Java 将图片转成base64,传到前台展示

    千次阅读 2019-09-09 19:31:26
    Java 将图片转成base64,传到前台展示 后台代码: public String getBase64(SysFile sysFile){ String imgStr = ""; try { File file = new File("C:\\EThinkTankFile\\20180402160120431.jpg"...
  • 图片显示到textarea中但是传到后台什么也没有。 // var obj_img=document.createElement("img"); // obj_img.src="img/face/"+pic+".png"; // document.getElementById("textarea").appendChild(obj_img
  • 主机中的图片传到虚拟机中

    千次阅读 2015-12-23 15:13:58
    从昨天下午6点一直解决现在,效果是实现了但是,依然不够便捷,后期会继续完善一下。 先记录一下,现在的实现。 之前安装了VMwre Tools,折腾了很多依然是没有达到虚拟机和主机文件共享的效果,尽管已经安装成功...
  • 场景:本身想IOS拍照和相册选照片功能集成到一起,就是拍照的相片和选相册的相片放到一个collection中,然后上传,并且拍照的照片默认在相册选照片时是选中状态的,所以需要获取拍照的照片ALasset然后传到相册中...
  • //file.type 获取图片类型 ////预览 //var URL = window.URL || window.webkitURL; //// 通过 file 生成目标 url //var imgURL = URL.createObjectURL(file); //// 用这个 URL 产生一个 将其显示出来 //$('#imgWait...
  • 如果有同学现在想在自定义栏目中上传图片,并添加自定义栏目中,那么我在网上看到的一个办法是首先把图片放在我们的博文中,如下图: 然后发表该博文,带博文审核完毕之后 ...
  • 目前基本的思路是将view中的内容传到画布中去,然后将画布生成图片保存到手机里。有没有人实现了的,求指点![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/83.gif)。如果这种办法行...
  • FF D8 FF E0 00 10 4A 46 49 46 00 01 01 01 00 00 00 00 00 00 FF DB 00 43 00 0C 08 09 0B 09 08 0C 0B 0A 0B 0E 0D 0C 0E 12 1E 14 12 11 11 12 25 1A 1C 16 1E 2C 26 2E 2D 2B 26 2A 29 30

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 251,287
精华内容 100,514
关键字:

怎么把图片传到网上