当前位置:首页 > 开发 > 开源软件 > 正文

如何上传图片到服务器

发表于: 2014-10-29   作者:yang__yuan   来源:转载   浏览:
摘要: 上传图片到服务器,有很多种方式,然而都是以流的方式将图片保存在服务器指定的目录里。 <body>  <html:form action="/uploadImageAction" enctype="multipart/form-data" method="post">   <t

上传图片到服务器,有很多种方式,然而都是以流的方式将图片保存在服务器指定的目录里。

<body>

 <html:form action="/uploadImageAction" enctype="multipart/form-data" method="post">
   <table id="editTable" class="table" height="100%">
   <tr>
   <td style="width: 20%;id="chooseImg">
                 请选择变压器图片:<hr/>
      <input type="file" id="fileId"  name="files" />
       <hr/>
     <input id="sub" type="submit" value="保存图片"/>
   </td>
   </tr>
   </table>
   </html:form>

</body>

 

 

//action中的代码

public class UploadImageAction extends BaseAction{
 private CommonDAO dao= MsgService.dao;
 /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
 public ActionForward execute(ActionMapping mapping,
             ActionForm form,
             HttpServletRequest request,
             HttpServletResponse response)
  throws Exception {
  //得到提交的form表单
  String terminalno=request.getParameter("terminalno");
  UploadImageForm theForm = (UploadImageForm ) form;
  FormFile file = null;//先定义,防止指向为空
  try{
         DiskFileUpload fu = new DiskFileUpload();
             // 设置最大文件尺寸,这里是50MB
             fu.setSizeMax(50194304);
             // 设置缓冲区大小,这里是4kb
             fu.setSizeThreshold(4096);
         file = theForm.getFiles();// 取得上传的文 件
         if(!file.getFileName().equals("")){ //判断上传的文件是否为空
         SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyyMMdd");// 文件重命名 
         String f = file.getFileName().substring(0,file.getFileName().indexOf("."));
         String namefile = f;    //+ datename + hour + min + second;
         String filename = null;
         InputStream stream = file.getInputStream();// 把文件读入
             filename = file.getFileName();
             filename = namefile + filename.substring(filename.indexOf("."));// 保存文件路径和文件名
             String filePath =request.getRealPath("/")+"images\\" +filename; 
            File   fi=new File(filePath);
             if(!fi.exists()){
              fi.createNewFile();
             }
             fi.canWrite();
             OutputStream bos = new FileOutputStream(filePath);// 建立一个上传文件的路径
             int bytesRead = 0;
             byte[] buf = new byte[8192];
             while ((bytesRead = stream.read(buf, 0, 8192)) != -1) {
                 bos.write(buf, 0, bytesRead);// 将文件写入服务器
             }
             bos.close();
             stream.close();
             //如果成功,则将文件的路径保存在数据库中,使用的时候通过数据的库的路径来取
             String imageaddress="..\\images\\" +filename;
             String saveUrl="update LcArTerminal set imageaddress= '"+imageaddress+"' where terminalno='"+terminalno+"'";
             System.out.println(saveUrl);
        dao.bulkUpdate(saveUrl);
           }else{
             return mapping.findForward("failure");
           }
         }catch(Exception e){
          e.printStackTrace();
          return mapping.findForward("failure");
         }
  return  mapping.findForward("success");
 }
}

如何上传图片到服务器

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
详细代码见: https://github.com/marujun/imageUpload 使用ejs编写不使用jade查看上面链接GitHub
ASP.NET+ExtJs4.0+表单提交submit,上传图片到服务器 分类: asp.Net Ext Js 2011-09-19 23:34 1946
ASP.NET+ExtJs4.0+表单提交submit,上传图片到服务器 分类: asp.Net Ext Js 2011-09-19 23:34 1946
项目用到了百度编辑器,感觉很高大上,突然发现这货上传的图片时,它总会放到当前项目的目录下,它
最近要实现在ckedit上传图片,而且要上传保存到数据库,在网站找了不少资料,基本上都是保存到服务
批量上传文件到服务器 利用MultipartFormDataInput实现。 简单说明:MultipartFormDataInput会读取m
如何上传PPT到博客 有经验的同学可能也都有同样的共识,博客不支持直接上传PPT,所以需要先将PPT转
【读书笔记】Asp.Net MVC 上传图片到数据库(会的绕行) 之前上传图片的做法都是上传到服务器上的文
在网上没找到,在此记录一下: 首先是下载云储存的SDK,如何使用就不赘述了,百度有官方文档,下面
最近做的一个项目中,用到了jspsmartUpload的jar包,将图片上传到Tomcat上面,我本人也是在学习阶段
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号