精华内容
参与话题
问答
  • 2,代码展示的为ajax完成图片上传(如果不用ajax只需要改变相应的form表单配置即可) 二、效果实现: 1,页面效果: 2,文件夹路径下就会多了对应的图片: 三、代码实现: 1,在html文本中编辑为(采用thymeleaf框架):...

    一、注意事项:  

    1,该项目主要采用的是springboot+thymeleaf框架

    2,代码展示的为ajax完成图片上传(如果不用ajax只需要改变相应的form表单配置即可)

    二、效果实现:

    1,页面效果:

    2,文件夹路径下就会多了对应的图片:

    三、代码实现:

    1,在html文本中编辑为(采用thymeleaf框架):

    <!-- 图片文本框 -->
    <input type="file" class="form-control" id="file" name="file" th:onchange="javascript:preview(this)">
    
    <!-- 这个是在上传之前回显图片图片展示 --> <div id="preview">   <!--这个是为了将页面返回的图片展示出来的.默认隐藏-->   <img style="width: 100px; height: 100px;display:none" id="imgHidden" /> </div> <!-- 提交...这里pageIndex和pageSize可传可不传,主要取决于提交之后是否需要回到当前页面. --> <button type="submit" th:onclick="javascript:submitForm([[${pageIndex}]],[[${pageSize}]])" class="btn btn-primary">提交</button>

    2,编辑js代码:
      两种情况:1,有file中有值的时候提交;2,file文件中没有值的时候提交

    function submitForm(pageIndex, pageSize) {
      var formData = new FormData(); //将需要提交的参数封装起来
      formData.append("id", $("#id").val());
      var zswb = $("#file").val();    //获取file中的内容,看是否有值
      if (zswb == '' || zswb.length < 1) {    //没有file提交的时候走的接口
        $.ajax({
          url : '/editMovieWithoutFile',
          type : 'post',
          data : formData,
          processData : false,
          contentType : false,
          success : function(value) {
            var result = JSON.parse(value);
            if (result == 'true') {
              window.location.href = "/index?pageIndex=" + pageIndex+ "&pageSize=" + pageSize;
            } else {
              Lobibox.alert('error', {msg : "媒资信息更新失败!!!"});
            }
          }
        });
      } else {    //有file提交的时候走的接口
        formData.append("file", $("#file")[0].files[0]);
        $.ajax({
          url : '/editMovieInfo',
          type : 'post',
          data : formData,
          processData : false,
          contentType : false,
          success : function(value) {
          var result = JSON.parse(value);
        if (result == 'true') {
          window.location.href = "/index?pageIndex=" + pageIndex+ "&pageSize=" + pageSize;
        } else {
          Lobibox.alert('error', {msg : "媒资信息更新失败!!!"});
        }
       }
      });
     }
    }
    //图片回显:
    function preview(file) {   $("#imgHidden").css("display", "none");   var prevDiv = document.getElementById('preview');   if (file.files && file.files[0]) {     var reader = new FileReader();     reader.onload = function(evt) {       prevDiv.innerHTML = '<img style="width: 100px;height: 100px;" src="' + evt.target.result + '" />';     }     reader.readAsDataURL(file.files[0]);   } else {     prevDiv.innerHTML = '<div class="img" style="width: 100px;height:100px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';   } }

    3,application.properties中的配置上传的限制

    #配置文件传输
    spring.servlet.multipart.enabled=true 
    spring.servlet.multipart.file-size-threshold=0
    #单个数据的大小
    spring.servlet.multipart.maxFileSize=100MB
    #总数据的大小
    spring.servlet.multipart.maxRequestSize=100MB

    4,controller(这里就不演示无file的情况,因为只是接受参数很简单):

    /**
    * 有file文件时
    * @param movieDto 封装了需要传递过来的参数
    * @param file 图片file
    */
    @RequestMapping("/editMovieInfo")
    @ResponseBody
    public String editMovieInfo(@RequestParam("id")final int id,@RequestParam("file")MultipartFile file) {
          int result = btShareService.editMovieInfo(id,file,uploadDir);
          if (result > -1) {
             return JSON.toJSONString("true");
          } else {
             return JSON.toJSONString("false");
         }
    }

    5,service层处理:

    @Transactional
    @Override
    public int editMovieInfo(int id, MultipartFile file,String uploadDir) {
        try {
         // 图片路径
            String imgUrl = null;
         //上传
            String filename = upload(file, uploadDir, file.getOriginalFilename());
            if (!EmptyUtil.isEmpty(filename)) {
                imgUrl = new File(uploadDir).getName() + "/" + filename;
            }
            MovieInfo movie = movieInfoService.selectMovieInfoByDcpId(Integer.valueOf(movieDto.getId()));
         movie .setImgUrl(imgUrl)
            movieInfoService.updateMovieInfoByDcpId(movieInfo);
             return 0;
        } catch (Exception e) {
           e.printStackTrace();
         return -1;
          }
    }

     图片上传的方法

    public String upload(MultipartFile file, String path, String fileName) throws Exception {
      // 生成新的文件名
      String realPath = path + "/" + UUID.randomUUID().toString().replace("-", "")+fileName.substring(fileName.lastIndexOf("."));
      File dest = new File(realPath);
      // 判断文件父目录是否存在
      if (!dest.getParentFile().exists()) {
        dest.getParentFile().mkdir();
      }
      // 保存文件
      file.transferTo(dest);
      return dest.getName();
    }

     6,至于Dao层的操作和数据库修改这里就直接省略了....

    转载于:https://www.cnblogs.com/bbgs-xc/p/10058874.html

    展开全文
  • java图片上传下载

    2016-09-18 10:09:25
    代码简单注释详细
  • Java实现图片上传到服务器

    万次阅读 2019-03-06 09:30:15
    Java实现图片上传到服务器 #这几天研究图片上传到服务器并回显到页面遇到了问题,在这里总结一下!希望对各位有用!!! 先上代码 js代码 var formData = new FormData($( &amp;quot;#myform&amp;...

    Java实现图片上传到服务器


    #这几天研究图片上传到服务器并回显到页面遇到了问题,在这里总结一下!希望对各位有用!!!

    先上代码

    jsp代码:

    <form id="myform" method="post" enctype="multipart/form-data">
                        <div class="form-group" >
                            <label for="plainGoodsName">商品名</label>
                            <input type="text" class="form-control" id="plainGoodsName" name="plainGoodsName" placeholder="请输入商品名">
                        </div>
    
                        <div class="form-group">
                            <label for="plainGoodsImg">商品图片</label>
    
                            <a style="float: left;border:1px solid #eee;width: 100%;padding: 10px;box-sizing: border-box;margin:5px 0;" href="javascript:;" class="a-upload">
                                <input type="file" name="files" id="plainGoodsImg" onchange="xmTanUploadImg_1(this,'xmTanImg_1')" accept="image/*"/>
                                <img style="width: 80px;" id="xmTanImg_1"/>
                                <div style="width: 80px;height: 80px;display: none;" id="xmTanDiv_1"></div>
                            </a>
                        </div>
    
    
                        <div class="form-group">
                            <label for="plainGoodsPrice">商品价格</label>
                            <input type="text" class="form-control" id="plainGoodsPrice" name="plainGoodsPrice" placeholder="请输入商品价格">
                        </div>
    
                        <div class="form-group">
                            <label for="plainGoodsNum">商品库存</label>
                            <input type="text" class="form-control" id="plainGoodsNum" name="plainGoodsNum" placeholder="商品库存">
                        </div>
                        <div class="form-group">
                            <label for="plainGoodsContext">商品描述</label>
                           <!-- <input type="text" class="form-control" id="plainGoodsContext" name="plainGoodsContext" placeholder="商品描述"> -->
                            <textarea class="form-control" id="plainGoodsContext" name="plainGoodsContext" rows="3"></textarea>
                        </div>
                        <div class="form-group">
                                     <label></label>
                                 <button type="button" onclick="saveGoods()" class="btn btn-primary">添加商品</button>
                        </div>
                    </form>
    

    问题

    第一、上传图片时form表单中加入 enctype=“multipart/form-data” 否则会出现问题 后台接收不到
    (jsp的id接收后台传过来的值 通过标签赋值 name是向后台传值用的 如果没有name没法传值==这是给我自己写的)

    js代码

     var formData = new FormData($( "#myform" )[0]);
      $.ajax({
                url:"${ctx}/back/exchangeShopping/addGoods.action",
                type:"POST",
                dataType:"json",
                data:formData,
                processData: false,// 不加会报错
                contentType: false,// 不加会报错
                success:function(data) {
                    if(data == "true"){
                        layer.msg('添加成功',{icon:6,time:1500,end:function () {
                                window.location.reload();
                            }});
                    }else {
                        layer.msg(data,{icon:5,time:1500});
                    }
                }
            })
    

    有几个要注意的地方:
    第一、ajax要加上两个属性
    processData: false,// 不加会报错
    contentType: false,// 不加会报错
    第二、 var formData = new FormData($( “#myform” )[0]);
    使用formdata序列化表单
    关于jquery的 $(“form”).serialize()和 new FormData表单序列化
    网址:https://blog.csdn.net/cracklibby/article/details/80013112
    $(“form”).serialize()只会序列化表单不会序列化文件

    问题:带文件上传的form表单序列化 传参问题
    使用formdata 序列化form表单 后台使用@RequestParam(value = “files”, required = false)MultipartFile files,wFrontPlainGoods goods 接收
    并且MultipartFile 名字要与页面name的名字相同

    controller页面

    @ResponseBody
    	    @RequestMapping("/addGoods.action")
    	    public String addGoods(@RequestParam(value = "files", required = false)MultipartFile files,wFrontPlainGoods goods){
    	    	String Info = this.backExchangeShoppingService.addGoods(goods,files);
    	        return JSONObject.toJSONString(Info);
    	    }
    

    后台 MultipartFile 接收文件 注意 名字要与页面起的名字一样(有些文章写的是名字一定不要一样 具体问题具体分析 我是小白不确定这个是为什么)
    后面的对象时接收除文件以外的其他信息!

    service页面:

    //定义图片存储在服务器的路径
    	public static final String PICTUREURL = "D:/nginx-1.13.8/html/slitLamp/screening/";
    	public static final String CONFIGUREURL = "http://10.11.23.203:8029/";
    	public String uploadPictureByFile(MultipartFile file) {
    		// TODO 自动生成的方法存根
    		String filename1 = "picture_" + UUID.randomUUID() + ".jpg";//生成唯一图片路径
    		 if (!file.isEmpty()) {  
    	            try {  
    	                File filepath = new File(PICTUREURL);
    	                if (!filepath.exists()) 
    	                    filepath.mkdirs();
    	                // 文件保存路径  
    	               String savePath = PICTUREURL + filename1;  
    	                // 转存文件  
    	                file.transferTo(new File(savePath));  
    	            } catch (Exception e) {  
    	                e.printStackTrace();  
    	            }  
    	        }  
    
    				String url = CONFIGUREURL + filename1;
    		return url;
    	}
    

    问题
    第一、D:/nginx-1.13.8/html/slitLamp/screening/ 为图片存在nginx下的路径
    http://10.11.23.203:8029/ 为nginx的IP+端口 通过这个可以访问启动nginx的页面
    第二、配置nginx 在nginx下的conf文件夹下的nginx.conf文件中配置图片储存路径`
    第三、程序的图片是下载到本地的 使用nginx挂载本地的图片 然后启动nginx服务后通过nginx的IP+端口+(有可能还要加)+图片名访问

        location ~ \.(gif|jpg|jpeg|png|bmp|swf)$              ###处理图片  
    		{    
    			root         D:/nginx-1.13.8/html/slitLamp/screening/;   ###对应的图片存入路径  
    		}    
    
    图片:![nginx配置图片](https://img-blog.csdnimg.cn/20190306091445409.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ExMTk0ODIxNTY4,size_16,color_FFFFFF,t_70)
    
    

    关于nginx的问题

    配置nginx的网址(Windows版 参考):
    https://blog.csdn.net/y19910825/article/details/80301393
    参考:
    https://blog.csdn.net/qq_19244423/article/details/46877983
    一台服务器挂载另一台服务器信息 参考:[Linux部署nginx挂载文件]
    https://www.linuxidc.com/Linux/2013-07/87183.htm

    当程序部署到服务器上时可以通过访问其他服务器来分担部署程序服务器的负载 以防止出现问题

    另外发现一种方法是将图片上传到七牛云服务器上 调用他们的接口 他们给返回图片链接 直接将链接保存到本地就可以
    网址参考:[七牛云]
    https://www.w3cschool.cn/opensnscourse/euks1ppj.html

    以上链接是从网上复制过来的 如有问题请联系本人删除!!!

    展开全文
  • Java实现图片上传

    千次阅读 2015-11-18 10:03:55
    import java.io.*; import java.net.*; /* *发送端 */ class picsend { public static void main(String[] args) throws Exception { if(args.length!=1) { System.out.println("请选择一张.jpg图片"); ...
    import java.io.*;
    import java.net.*;
    /*
    *发送端
    */
    class  picsend
    {
    	public static void main(String[] args) throws Exception
    	{
    		if(args.length!=1)
    		{
    			System.out.println("请选择一张.jpg图片");
    			return;
    		}
    		File file = new File(args[0]);
    		if (!(file.exists() && file.isFile()))
    		{
    			System.out.println("图片有问题(不是文件或不存在)");
    			return;
    		}
    		if(!file.getName().endsWith(".jpg"))
    		{
    			System.out.println("图片格式不对,请重新选择图片");
    			return;
    		}
    		if(file.length()>1024*1024*10)
    		{
    			System.out.println("图片过大,无法上传");
    			return;
    		}
    
    		Socket s = new Socket("192.168.33.1",10006);//建立服务
    		FileInputStream fis = new FileInputStream("d:\\美女.jpg");//读取图片
    		OutputStream out = s.getOutputStream();//读到的写入
    		byte [] b = new byte[1024];
    		int len = 0;
    		while((len = fis.read(b))!= -1)
    		{
    			out.write(b,0,len);
    		}
    		s.shutdownOutput();//标记结束
    		InputStream in = s.getInputStream();//读服务端返回数据
    		byte [] bin = new byte[1024];
    		int num = in.read(bin);
    		System.out.println(new String(bin,0,num));
    		fis.close();
    		s.close();
    	}
    }
    class picThread implements Runnable 
    {
    	private Socket s;
    	picThread(Socket s)
    	{
    		this.s = s;
    	}
    	public void run()
    	{
    		int count = 1;
    		String ip = s.getInetAddress().getHostAddress();//得到ip
    		try
    		{
    			System.out.println(ip+".............connect");
    			InputStream in = s.getInputStream();//读到流中数据
    			File file = new File(ip+"("+(count)+")"+".jpg");
    			while(file.exists())//判断文件是否存在
    				file = new File(ip+"("+(count++)+")"+".jpg");
    
    			FileOutputStream fos = new FileOutputStream(file);//写入
    			byte [] b = new byte[1024];
    			int len = 0;
    			while((len = in.read(b))!=-1)
    			{
    				fos.write(b,0,len);
    			}
    			OutputStream out = s.getOutputStream();//写入服务端传过来数据
    			out.write("上传成功!".getBytes());
    			fos.close();
    			s.close();
    		}
    		catch (Exception e)
    		{
    			throw new RuntimeException("上传失败");
    		}
    			
    	}
    }
    /*
    *服务端
    */
    class  picrece 
    {
    	public static void main(String[] args) throws Exception
    	{
    		ServerSocket ss = new ServerSocket(10006);
    		while(true)
    		{
    			Socket s = ss.accept();//接收
    			new Thread(new picThread(s)).start();
    		}
    	}
    }


    展开全文
  • 在很多的网站都可以实现上传头像,可以选择自己喜欢的图片做头像,从本地上传,下次登录时可以直接显示出已经上传的头像,那么这个是如何实现的呢?   下面说一下我的实现过程(只是个人实现思路,实际网站怎...

    题外话:推荐一个专注于Java开发的网站,做提升学习,价值阅读:Java知音

    同时,扫码关注后端技术精选,回复“学习资料”,领取100套小程序源码+小程序开发视频和基本Java经典书籍电子版


    在很多的网站都可以实现上传头像,可以选择自己喜欢的图片做头像,从本地上传,下次登录时可以直接显示出已经上传的头像,那么这个是如何实现的呢?

     

    下面说一下我的实现过程(只是个人实现思路,实际网站怎么实现的不太清楚)

    实现的思路:

    工具:MySQL,eclipse

    首先,在MySQL中创建了两个表,一个t_user表,用来存放用户名,密码等个人信息,

    一个t_touxiang表,用来存放上传的图片在服务器中的存放路径,以及图片名字和用户ID,

    T_touxiang表中的用户ID对应了t_user中的id。

     

    t_user表SQL:

    DROP TABLE IF EXISTS `t_user`;
    CREATE TABLE `t_user` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `username` varchar(20) NOT NULL,
      `password` varchar(255) NOT NULL,
      PRIMARY KEY (`id`),
      UNIQUE KEY `username` (`username`)
    ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8;
    

     

    T_touxiang表SQL:

     

    DROP TABLE IF EXISTS `t_touxiang`;
    CREATE TABLE `t_touxiang` (
      `id` int(10) NOT NULL AUTO_INCREMENT,
      `image_path` varchar(255) DEFAULT NULL,
      `user_id` int(11) DEFAULT NULL,
      `old_name` varchar(255) DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `img_user` (`user_id`),
      CONSTRAINT `img_user` FOREIGN KEY (`user_id`) REFERENCES `t_user` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
    

     

    首先,写一个UploadServlet.java,用来处理图片文件的上传,并将图片路径,图片名称等信息存放到t_touxiang数据表中,代码如下:

     

    @WebServlet("/UploadServlet.do")
    public class UploadServlet extends HttpServlet {
        private static final long serialVersionUID = 1L;
    
        protected void service(HttpServletRequest request, HttpServletResponse response)
    	    throws ServletException, IOException {
    	// 判断上传表单是否为multipart/form-data类型
    	HttpSession session = request.getSession();
    	User user = (User) session.getAttribute("user"); // 在登录时将 User 对象放入了 会话
    							 // 中
    
    	if (ServletFileUpload.isMultipartContent(request)) {
    
    	    try {
    		// 1. 创建DiskFileItemFactory对象,设置缓冲区大小和临时文件目录
    		DiskFileItemFactory factory = new DiskFileItemFactory();
    		// System.out.println(System.getProperty("java.io.tmpdir"));//默认临时文件夹
    
    		// 2. 创建ServletFileUpload对象,并设置上传文件的大小限制。
    		ServletFileUpload sfu = new ServletFileUpload(factory);
    		sfu.setSizeMax(10 * 1024 * 1024);// 以byte为单位 不能超过10M 1024byte =
    						 // 1kb 1024kb=1M 1024M = 1G
    		sfu.setHeaderEncoding("utf-8");
    
    		// 3.
    		// 调用ServletFileUpload.parseRequest方法解析request对象,得到一个保存了所有上传内容的List对象。
    		@SuppressWarnings("unchecked")
    		List<FileItem> fileItemList = sfu.parseRequest(request);
    		Iterator<FileItem> fileItems = fileItemList.iterator();
    
    		// 4. 遍历list,每迭代一个FileItem对象,调用其isFormField方法判断是否是上传文件
    		while (fileItems.hasNext()) {
    		    FileItem fileItem = fileItems.next();
    		    // 普通表单元素
    		    if (fileItem.isFormField()) {
    			String name = fileItem.getFieldName();// name属性值
    			String value = fileItem.getString("utf-8");// name对应的value值
    
    			System.out.println(name + " = " + value);
    		    }
    		    // <input type="file">的上传文件的元素
    		    else {
    			String fileName = fileItem.getName();// 文件名称
    			System.out.println("原文件名:" + fileName);// Koala.jpg
    
    			String suffix = fileName.substring(fileName.lastIndexOf('.'));
    			System.out.println("扩展名:" + suffix);// .jpg
    
    			// 新文件名(唯一)
    			String newFileName = new Date().getTime() + suffix;
    			System.out.println("新文件名:" + newFileName);// image\1478509873038.jpg
    
    			// 5. 调用FileItem的write()方法,写入文件
    			File file = new File("D:/lindaProjects/mySpace/wendao/WebContent/touxiang/" + newFileName);
    			System.out.println(file.getAbsolutePath());
    			fileItem.write(file);
    
    			// 6. 调用FileItem的delete()方法,删除临时文件
    			fileItem.delete();
    
    			/*
    			 * 存储到数据库时注意 1.保存源文件名称 Koala.jpg 2.保存相对路径
    			 * image/1478509873038.jpg
    			 * 
    			 */
    			if (user != null) {
    			    int myid = user.getId();
    			    String SQL = "INSERT INTO t_touxiang(image_path,user_id,old_name)VALUES(?,?,?)";
    			    int rows = JdbcHelper.insert(SQL, false, "touxiang/" + newFileName, myid, fileName);
    			    if (rows > 0) {
    				session.setAttribute("image_name", fileName);
    				session.setAttribute("image_path", "touxiang/" + newFileName);
    				response.sendRedirect(request.getContextPath() + "/upImage.html");
    			    } else {
    
    			    }
    
    			} else {
    			    session.setAttribute("loginFail", "请登录");
    			    response.sendRedirect(request.getContextPath() + "/login.html");
    			}
    
    		    }
    		}
    
    	    } catch (FileUploadException e) {
    		e.printStackTrace();
    	    } catch (Exception e) {
    		e.printStackTrace();
    	    }
    
    	}
        }
    }
    

     

    在完成图片上传并写入数据库的同时,将图片路径通过session的方式发送到HTML界面

     

     

    <!DOCTYPE html>
    
    <html>
    
    <head>
    
    <meta charset="UTF-8">
    
    <title>更换头像</title>
    
    </head>
    
    <body>
    
             <formaction="UploadServlet.do" method="post"enctype="multipart/form-data">
    
                         本地目录:<inputtype="file" name="uploadFile">
    
               <img src="${image_path}" width="200" height="200">
    
                    <inputtype="submit" value="上传头像"/>
    
       </form>
    
    </body>
    
    </html>

     

    至此,图片上传数据库和本地服务器已经实现,那么如何在HTML界面显示出个人信息以及上传的头像呢?

     

     

    首先定义一个PersonServlet类,用来读取数据库的内容,并发送到HTML界面。

    代码如下:

    @WebServlet("/persons.do")
    public class PersonServlet extends HttpServlet {
    
        private static final long serialVersionUID = -800352785988546254L;
    
        protected void service(HttpServletRequest request, HttpServletResponse response)
    	    throws ServletException, IOException {
    	// 判断上传表单是否为multipart/form-data类型
    	Touxiang tx=null;
    	
    	HttpSession session = request.getSession();
    	User user = (User) session.getAttribute("user"); // 在登录时将 User 对象放入了 会话
    	if(user!=null){
    	    int myid=user.getId();
    	    String SQL="SELECT id,image_path,old_name FROM t_touxiang WHERE user_id=?";
    	    ResultSet rs=JdbcHelper.query(SQL,myid);
    	    String uSQL="SELECT username,password FROM t_user WHERE id=?";
    	    ResultSet urs=JdbcHelper.query(uSQL,myid);
    	    System.out.println( "我的个人id是: " + myid);
    	    final List<Touxiang> touxiang=new ArrayList<>();
    	    try {
    		if(rs.next())
    		{
    		    tx=new Touxiang();
    		    tx.setId(rs.getInt(1));
    		    tx.setImage_path(rs.getString(2));
    		    tx.setOld_name(rs.getString(3));
    		    touxiang.add(tx);
    		}
    		if(urs.next()){
    		    user.setUsername(urs.getString(1));
    		    user.setPassword(urs.getString(2));
    		    user.setTouxiang(touxiang);
    		}
    		
    	    } catch (SQLException e) {
    		// TODO Auto-generated catch block
    		e.printStackTrace();
    	    }
    	   
    		session.setAttribute("user", user);
    		System.out.println( "我的id: " + myid);
    		response.sendRedirect( request.getContextPath() + "/person.html");
    	}
        }
    }
    

     

    在HTML界面接收信息,并显示出来,代码如下:

     

    <div>
    	<form action="UploadServlet.do" method="post" enctype="multipart/form-data">
          		 <div><a href="$path/upImage.html">更换头像</a></div>
            	
            	#foreach( $ut in  $user.getTouxiang() )
            	 <img src=" $ut.getImage_path()"  width="200" height="200">
            	 #end
            	 <div>我的头像:</div>
            	 <div>我的姓名:$user.getUsername()</div>
            	 <div><a href="$path/myAnswer.do">我的解答</a></div>
    		<div><a href="$path/myQuestion.do">我的提问</a></div>
       	 </form>
    	</div>
    <div>
    	<form action="UploadServlet.do" method="post" enctype="multipart/form-data">
          		 <div><a href="$path/upImage.html">更换头像</a></div>
            	
            	#foreach( $ut in  $user.getTouxiang() )
            	 <img src=" $ut.getImage_path()"  width="200" height="200">
            	 #end
            	 <div>我的头像:</div>
            	 <div>我的姓名:$user.getUsername()</div>
            	 <div><a href="$path/myAnswer.do">我的解答</a></div>
    		<div><a href="$path/myQuestion.do">我的提问</a></div>
       	 </form>
    	</div>

     

    至此,一个基于Java的头像上传服务器,路径存储在MySQL,并在HTML界面读取出来的功能就基本实现了。头像上传之前进行处理等操作,可以选择一些插件来完成。这里只是简单的实现了基本功能。

     

     

    补充

    对于图片上传,这里只是简单的用Servlet实现了一下最基本的功能,仅提供思路。如果使用spring等框架,他都对图片上传做了很好的封装,应该更加容易。

    后台实现图片上传应该来说比较容易,但是比较头疼的是图片上传原生的按钮丑出天际,这里推荐俩实用的上传控件,应该算比较好看。

     

    1,H5实现的图片上传,可多张上传,可点击可拖拽上传,大概是这个样子:

    基本的使用介绍和下载地址:http://blog.csdn.net/weixin_36380516/article/details/70352689

     

    2,jQuery图像裁剪插件,大概长这样

     

    不仅提供上传,还有裁剪等功能,UI做的也美,

    地址:http://www.jq22.com/jquery-info318

     

    展开全文
  • java实现图片上传预览

    2012-05-03 18:52:31
    java实现图片上传预览,包含asp和jsp的实现代码,以及相关说明
  • 在项目应用中,经常会...1、MultipartFile:图片上传在应用中经常会用到MultipartFile来接收,代码如下: @RequestMapping("/imageUpload.do") public Map&lt;String,Object&gt; imageUpload(...
  • java实现图片上传功能,并返回图片保存路径

    万次阅读 多人点赞 2018-06-25 11:38:04
    1、前端html <div class="form-group"> <label for="inputPassword3" class="col-sm-2 control-label">身份证正面照片:</label>...div class="col-sm-10">...input type="hidden" name...
  • java图片上传详解

    万次阅读 2017-06-08 22:13:14
    近期,由于项目需求需要上传图片logo,笔者在探索的过程中遇到过很多坑,今晚就把个人经验分享出来尽量少让博友们脑壳疼 2.准备工作 ①选择一个专门存储图片的服务器,这里笔者选择了第三方七牛云存储,真心感觉...
  • java实现图片上传至本地

    万次阅读 2018-03-30 21:32:51
    在工作中要求将图片上传至本地,如下代码将介绍如何将图片上传至本地准备工作:环境:eclipse4.5-x64,jdk1.7-x64,maven3tomcat服务器配置图片上传映射:上传至本地服务器配置文件:image.properties#\u672c\u5730\...
  • java实现图片上传到数据库并显示,利用Struts2和commons-fileupload-1.2.1.jar,代码调试通过 完美运行。
  • Java实现图 1、文件上传 FORM 要加入enctype="multipart/form-data" ACTION或SERVLET import org.apache.commons.fileupload.DiskFileUpload; import org....
  • 主要为大家详细介绍了java实现简单图片上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 采用数据库存储图片的方式,后端接口返回图片的base64流,插入数据库前对图片进行加密,接口查询进行解密。 实现 数据库 字段:head_portrait 类型:longblob 实体类属性设置 /** * 头像路径 */ @TableField...
  • 这里简单记录一下: 前端传的base64编码的字符串...imageStr = "base64编码的图片字符串"; imageStr = imageStr.replace("data:image/png;base64,", ""); byte[] image = Base64.decodeBase64(); uploadImage("a.j...
  • java实现图片上传

    千次阅读 2013-09-14 18:25:39
    一.在JSP环境中利用Commons-fileupload组件实现文件上传 1.页面upload.jsp清单如下: Java代码 1. 2. 3. 4. 5. 6. The FileUpload Demo 7. 8. 9. 10. 11. 文件介绍 12.
  • java实现图片上传并添加水印demo

    千次阅读 2017-09-08 13:34:34
    前段时间研究了图片上传添加水印的效果,现在贴出来供大家参考参考。 /** * 图片上传,添加水印 * @param request * @param params * @param values * @return * @throws Exception * @author LLJ * @date...
  • java 实现图片上传功能

    千次阅读 2018-08-04 10:02:09
    @Controller @RequestMapping("/rest") public class ImageController {  @Value("${IMAGE_BASE_PATH}")  private String path;  @Value("${IMAGE_BASE_URL}"... private ...

空空如也

1 2 3 4 5 ... 20
收藏数 78,937
精华内容 31,574
关键字:

java实现图片上传

java 订阅