【源码哥垃圾】【指尖红包源码】【qp游戏源码】java图片上传源码

时间:2024-12-23 03:02:32 来源:修狗源码 编辑:gitlab源码安装配置

1.Java在jsp中 如何上传 在上传时可以取到大小并修改
2.java实现图片上传下载?

java图片上传源码

Java在jsp中 如何上传 在上传时可以取到大小并修改

       用第三方工具去取 common-upload,图片源码哥垃圾具体取到的方法参考代码如下:

       FileItemFactory fileItemFactory = new DiskFileItemFactory();

        ServletFileUpload upload = new ServletFileUpload(fileItemFactory);

        upload.setHeaderEncoding("utf-8");

        try {

        List<FileItem> items = upload.parseRequest(request);

        for (FileItem fileItem : items) {

        System.out.println("fileName=" + fileItem.getFieldName());

        //获取文件流

        InputStream in = fileItem.getInputStream();

        ServletContext context = getServletConfig().getServletContext();

        String path = context.getRealPath("image");

        System.out.println(path);

        OutputStream out = new FileOutputStream(new File(path + "\\" + fileItem.getName()));

        byte[] buffer = new byte[];

        int len = 0;

        while((len = in.read(buffer)) != -1) {

        out.write(buffer, 0, len);

        }

        out.close();

        in.close();

        System.out.println("写入完毕");

        }

        } catch (FileUploadException e) {

        e.printStackTrace();

        }

java实现图片上传下载?

       ç”¨java完成图片多张批量上传的功能,还有就是后台的应该怎么处理上传的照片。

       çŽ¯å¢ƒå‡†å¤‡

       1.下载并安装Tomcat(已经有很多关于Tomcat安装以及使用的文章,在这里不再介绍);

       2.下载Fileupload的jar包commons-fileupload-1.0-beta-1.jar,并将该文件拷贝到{ $TOMCAT}/common/lib目录下(其中{ $TOMCAT}为Tomcat的安装目录);

       3.由于Fileupload子项目同时要用到另外一个项目commons-Beanutils,所以必须下载Beanutils,并将解压后的文件commons-beanutils.jar拷贝到{ $TOMCAT}/common/lib目录下。

       å¼€å‘文件上传页面

       æ–‡ä»¶ä¸Šä¼ çš„界面如图1所示。为了增加效率我们设计了三个文件域,同时上传三个文件。

       å›¾1文件上传界面

       é¡µé¢çš„HTML代码如下:

       html

       head

       title文件上传演示/title

       /head

       bodybgcolor=“#FFFFFF”text=“#”leftmargin=“0”topmargin=“”marginwidth=“0”marginheight=“0”

       center

       h1文件上传演示/h1

       formname=“uploadform”method=“POST”action=“save.jsp”ENCTYPE=“multipart/form-data”

       tableborder=“1”width=“”cellpadding=“4”cellspacing=“2”bordercolor=“#9BD7FF”

       trtdwidth=“%”colspan=“2”

       æ–‡ä»¶1:inputname=“file1”size=“”type=“file”

       /td/tr

       trtdwidth=“%”colspan=“2”

       æ–‡ä»¶2:inputname=“file2”size=“”type=“file”

       /td/tr

       trtdwidth=“%”colspan=“2”

       æ–‡ä»¶3:inputname=“file3”size=“”type=“file”

       /td/tr

       /table

       br/br/

       table

       trtdalign=“center”inputname=“upload”type=“submit”value=“开始上传”//td/tr

       /table

       /form

       /center

       /body

       /html

       ä»£ç ä¸­è¦ç‰¹åˆ«æ³¨æ„çš„是黑体处。必须保证表单的ENCTYPE属性值为multipart/form-data,这样浏览器才能正确执行上传文件的操作。

       å¤„理上传文件信息

       ç”±äºŽæœ¬æ–‡ä¸»è¦æ˜¯è®²è¿°å¦‚何使用Commons-fileupload,所以为了便于修改、调试,上传文件的保存使用一个JSP文件来进行处理。我们将浏览器上传来的所有文件保存在一个指定目录下并在页面上显示所有上传文件的详细信息。保存页面处理结果见图2所示。

       å›¾2保存页面

       ä¸‹é¢æ¥çœ‹çœ‹save.jsp的代码:

       %

       /

**

       *演示文件上传的处理

       *@authorahref=“mailto:winter.lau@.com”WinterLau/a

       *@version$Id:save.jsp,v1.//::

       */

       %

       %@pagelanguage=“java”contentType=“text/html;charset=GBK”%

       %@pageimport=“java.util.*”%

       %@pageimport=“org.apache.commons.fileupload.*”%

       html

       head

       title保存上传文件/title

       /head

       %

       Stringmsg=“”;

       FileUploadfu=newFileUpload();

       //设置允许用户上传文件大小,单位:字节

       fu.setSizeMax();

       //maximumsizethatwillbestoredinmemory?

       //设置最多只允许在内存中存储的数据,单位:字节

       fu.setSizeThreshold();

       //设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

       fu.setRepositoryPath(“C:\\TEMP”);

       //开始读取上传信息

       ListfileItems=fu.parseRequest(request);

       %

       bodybgcolor=“#FFFFFF”text=“#”leftmargin=“0”topmargin=“”marginwidth=“0”marginheight=“0”

       fontsize=“6”color=“blue”文件列表:/font

       center

       tablecellpadding=0cellspacing=1border=1width=“%”

       tr

       tdbgcolor=“#”文件名/td

       tdbgcolor=“#”大小/td

       /tr

       %

       //依次处理每个上传的文件

       Iteratoriter=fileItems.iterator();

       while(iter.hasNext()){

       FileItemitem=(FileItem)iter.next();

       //忽略其他不是文件域的所有表单信息

       if(!item.isFormField()){

       Stringname=item.getName();

       longsize=item.getSize();

       if((name==null||name.equals(“”))size==0)

       continue;

       %

       tr

       td%=item.getName()%/td

       td%=item.getSize()%/td

       /tr

       %

       //保存上传的文件到指定的目录

       name=name.replace(‘:’,‘_’);

       name=name.replace(‘\\’,‘_’);

       item.write(“F:\\”+name);

       }

       }

       %

       /table

       br/br/

       ahref=“upload.html”返回上传页面/a

       /center

       /body

       /html

       åœ¨è¿™ä¸ªæ–‡ä»¶ä¸­éœ€è¦æ³¨æ„çš„是FileUpload对象的一些参数值的意义,如下面代码所示的三个参数sizeMax、sizeThreshold、repositoryPath:

       FileUploadfu=newFileUpload();

       //设置允许用户上传文件大小,单位:字节

       fu.setSizeMax();

       //maximumsizethatwillbestoredinmemory?

       //设置最多只允许在内存中存储的数据,单位:字节

       fu.setSizeThreshold();

       //设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录

       fu.setRepositoryPath(“C:\\TEMP”);

       è¿™3个参数的意义分别为:

       SizeMax用来设置上传文件大小的最大值,一旦用户上传的文件大小超过该值时将会抛出一个FileUploadException异常,提示文件太大;

       SizeThreshold设置内存中缓冲区的大小,一旦文件的大小超过该值的时候,程序会自动将其它数据存放在repositoryPath指定的目录下作为缓冲。合理设置该参数的值可以保证服务器稳定高效的运行;

       RepositoryPath指定缓冲区目录。

       ä½¿ç”¨æ³¨æ„äº‹é¡¹

       ä»Žå®žé™…应用的结果来看该模块能够稳定高效的工作。其中参数SizeThreshold的值至关重要,设置太大会占用过多的内存,设置太小会频繁使用硬盘作为缓冲以致牺牲性能。因此,设置该值时要根据用户上传文件大小分布情况来设定。例如大部分文件大小集中在KB左右,则可以使用KB作为该参数的值,当然了再大就不合适了。使用commons-fileupload来处理HTTP文件上传的功能模块很小,但是值得研究的东西很多。

       javaweb开发,上传图片并读取

       javaweb开发中,使用文件操作类来上传图片并读取,如下代码:

*?@desc:?图片处理工具

*?@author:?bingye

*?@createTime:?-3-?下午::

*?@version:?v1.0

*/

       public?class?ImageUtil?{

       /

**

       *?将图片写到客户端

       *?@author:?bingye

       *?@createTime:?-3-?下午::

       *?@history:

       *?@param?image

       *?@param?response?void

       */

       public?static?void?writeImage(byte[]?image,HttpServletResponse?response){

       if(image==null){

       return;

       }

       byte[]?buffer=new?byte[];

       InputStream?is=null;

       OutputStream?os=null;

       try?{

       is=new?ByteArrayInputStream(image);

       os=response.getOutputStream();

       while(is.read(buffer)!=-1){

       os.write(buffer);

       os.flush();

       }

       }?catch?(IOException?e)?{

       e.printStackTrace();

       }?finally{

       try?{

       if(is!=null){ is.close();}

       if(os!=null){ os.close();}

       }?catch?(IOException?e)?{

       e.printStackTrace();

       }

       }

       }

       /

**

       *?获取指定路劲图片

       *?@author:?bingye

       *?@createTime:?-3-?上午::

       *?@param?filePath

       *?@param?response?void

       */

       public?static?void?writeImage(String?filePath,HttpServletResponse?response){

       File?imageFile=new?File(filePath);?

       if(imageFile!=null?imageFile.exists()){

       byte[]?buffer=new?byte[];

       InputStream?is=null;

       OutputStream?os=null;

       try?{

       is=new?FileInputStream(imageFile);

       os=response.getOutputStream();

       while(is.read(buffer)!=-1){

       os.write(buffer);

       os.flush();

       }

       }?catch?(FileNotFoundException?e)?{

       e.printStackTrace();

       }?catch?(IOException?e)?{

       e.printStackTrace();

       }?finally{

       try?{

       if(is!=null){ is.close();}

       if(os!=null){ os.close();}

       }?catch?(IOException?e)?{

       e.printStackTrace();

       }

       }

       }

       }

       /

**

       *?图片上传到文件夹

       *?@author:?bingye

       *?@createTime:?-3-?下午::

       *?@param?file

       *?@param?savePath

       *?@return?boolean

       */

       public?static?ResultDto?uploadToLocal(CommonsMultipartFile?file,String?savePath){

       if(file!=null?!file.isEmpty()){

       //获取文件名称

       String?fileName=file.getOriginalFilename();

       //获取后缀名

       String?suffixName=fileName.substring(fileName.indexOf(".")+1);

       //新名称

       String?newFileName=System.currentTimeMillis()+"."+suffixName;

       //新文件路劲

       String?filePath=savePath+newFileName;

       //获取存储文件路径

       File?fileDir=new?File(savePath);

       if(!fileDir.exists()){

       //如果文件夹没有:新建

       fileDir.mkdirs();

       }

       FileOutputStream?fos=null;

       try?{

       fos=new?FileOutputStream(filePath);

       fos.write(file.getBytes());

       fos.flush();

       return?ResultUtil.success("UPLOAD_SUCCESS",?URLEncoder.encode(newFileName,"utf-8"));

       }?catch?(Exception?e)?{

       e.printStackTrace();

       return?ResultUtil.fail("UPLOAD_ERROR");

       }?finally{

       try?{

       if(fos!=null){

       fos.close();

       }

       }?catch?(IOException?e)?{

       e.printStackTrace();

       return?ResultUtil.fail("UPLOAD_ERROR");

       }

       }

       }

       return?ResultUtil.fail("UPLOAD_ERROR");

       }

       }

请问用Java如何实现图片上传功能?

       æˆ‘有一段上传图片的代码,并且可以根据实际,按月或按天等,生成存放图片的文件夹

       é¦–先在JSP上放一个FILE的标签这些我都不说了,你也一定明白,我直接把处理过程给你发过去

       æˆ‘把其中存到数据库中的内容删除了,你改一下就能用

       /

**

       

*

       *上传图片

       *@paramservlet

       *@paramrequest

       *@paramresponse

       *@return

       *@throwsException

       */

       //这里我是同步上传的,你随意

       publicsynchronizedStringimportPic(HttpServletservlet,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{

       SimpleDateFormatformatDate=newSimpleDateFormat("yyyyMM");

       Datenowtime=newDate();

       Stringformatnowtime=formatDate.format(nowtime);

       Fileroot=newFile(request.getRealPath("/")+"uploadfile/images/"+formatnowtime+"/");//应保证在根目录中有此目录的存在如果没有,下面则上创建新的文件夹

       if(!root.isDirectory())

       {

       System.out.println("创建新文件夹成功"+formatnowtime);

       root.mkdir();

       }

       intreturnflag=0;

       SmartUploadmySmartUpload=newSmartUpload();

       intfile_size_max=;

       Stringext="";

       Stringurl="uploadfile/images/"+formatnowtime+"/";

       //只允许上载此类文件

       try{

       //初始化

       mySmartUpload.initialize(servlet.getServletConfig(),request,response);

       mySmartUpload.setAllowedFilesList("jpg,gif,bmp,jpeg,png,JPG");

       //上载文件

       mySmartUpload.upload();

       }catch(Exceptione){

       response.sendRedirect()//返回页面

       }

       com.jspsmart.upload.

copyright © 2016 powered by 皮皮网   sitemap