<legend id='s1j11wsr'><style id='eucgtxw4'><dir id='fxcrcwk6'><q id='q3jvnh0g'></q></dir></style></legend>

        <small id='vdrhdgpb'></small><noframes id='1qn01q2l'>

          <bdo id='3y3yt95y'></bdo><ul id='xiv4c6sc'></ul>
        <tfoot id='x2a4h90s'></tfoot>
        <i id='p9cfmscr'><tr id='9imkmt5c'><dt id='zlcuyg0f'><q id='r6zp5epy'><span id='glufms3r'><b id='4barjp32'><form id='9tb3dujc'><ins id='3h38yqro'></ins><ul id='jikgwp6e'></ul><sub id='h2z9zqi0'></sub></form><legend id='bvpwxwns'></legend><bdo id='8b5wwwu8'><pre id='nuoas8er'><center id='nlv7tn39'></center></pre></bdo></b><th id='8u65z21c'></th></span></q></dt></tr></i><div id='7r49j98k'><tfoot id='ldf8i1wh'></tfoot><dl id='yk0u72hh'><fieldset id='1id8nlis'></fieldset></dl></div>
      1. 欢迎来到入门教程网!

        Java编程

        当前位置:主页 > 软件编程 > Java编程 >

        图片如何上传java代码 java图片文件上传

        来源:本站原创|时间:2023-04-12|栏目:Java编程|点击:

        java实现图片上传至服务器并显示,如何做?希望要具体的代码实现

        很简单。

        可以手写IO读写(有点麻烦)。

        怕麻烦的话使用FileUpload组件 在servlet里doPost嵌入一下代码

        public void doPost(HttpServletRequest request,HttpServletResponse response)

        throws ServletException,IOException{

        response.setContentType("text/html;charset=gb2312");

        PrintWriter out=response.getWriter();

        //设置保存上传文件的目录

        String uploadDir =getServletContext().getRealPath("/up");

        System.out.println(uploadDir);

        if (uploadDir == null)

        {

        out.println("无法访问存储目录!");

        return;

        }

        //根据路径创建一个文件

        File fUploadDir = new File(uploadDir);

        if(!fUploadDir.exists()){

        if(!fUploadDir.mkdir())//如果UP目录不存在 创建一个 不能创建输出...

        {

        out.println("无法创建存储目录!");

        return;

        }

        }

        if (!DiskFileUpload.isMultipartContent(request))

        {

        out.println("只能处理multipart/form-data类型的数据!");

        return ;

        }

        DiskFileUpload fu = new DiskFileUpload();

        //最多上传200M数据

        fu.setSizeMax(1024 * 1024 * 200);

        //超过1M的字段数据采用临时文件缓存

        fu.setSizeThreshold(1024 * 1024);

        //采用默认的临时文件存储位置

        //fu.setRepositoryPath(...);

        //设置上传的普通字段的名称和文件字段的文件名所采用的字符集编码

        fu.setHeaderEncoding("gb2312");

        //得到所有表单字段对象的集合

        List fileItems = null;

        try

        {

        fileItems = fu.parseRequest(request);//解析request对象中上传的文件

        }

        catch (FileUploadException e)

        {

        out.println("解析数据时出现如下问题:");

        e.printStackTrace(out);

        return;

        }

        //处理每个表单字段

        Iterator i = fileItems.iterator();

        while (i.hasNext())

        {

        FileItem fi = (FileItem) i.next();

        if (fi.isFormField()){

        String content = fi.getString("GB2312");

        String fieldName = fi.getFieldName();

        request.setAttribute(fieldName,content);

        }else{

        try

        {

        String pathSrc = fi.getName();

        if(pathSrc.trim().equals("")){

        continue;

        }

        int start = pathSrc.lastIndexOf('\\');

        String fileName = pathSrc.substring(start + 1);

        File pathDest = new File(uploadDir, fileName);

        fi.write(pathDest);

        String fieldName = fi.getFieldName();

        request.setAttribute(fieldName, fileName);

        }catch (Exception e){

        out.println("存储文件时出现如下问题:");

        e.printStackTrace(out);

        return;

        }

        finally //总是立即删除保存表单字段内容的临时文件

        {

        fi.delete();

        }

        }

        }

        注意 JSP页面的form要加enctype="multipart/form-data" 属性, 提交的时候要向服务器说明一下 此页面包含文件。

        如果 还是麻烦,干脆使用Struts 的上传组件 他对FileUpload又做了封装,使用起来更傻瓜化,很容易掌握。

        -----------------------------

        以上回答,如有不明白可以联系我。

        求JAVA上传图片代码

        public String imagesUpload(){

        log.debug("images upload");

        if(files == null){

        saveMessage("没有上传任何文件!");

        return ERROR;

        }

        // 查看上传临时目录是否存在

        String sep = File.separator;

        String condPath = sep + "upload" + sep +"tmp" +sep;

        String uploadDir = ServletActionContext.getServletContext().getRealPath(condPath) + sep;

        File dirPath = new File(uploadDir);

        if (!dirPath.exists())

        dirPath.mkdirs();

        String extension, fileName;

        int count = 0;

        StringBuilder picNameSB = new StringBuilder("");

        ListString picNamesSet = new ArrayListString();

        try{

        for(File tempFile : files){

        if(count0)

        picNameSB.append("##");

        extension = UserUtil.getFileExtension(filesFileName[count]);

        fileName = generatePictureName(uploadDir, doType + count, extension);

        File newFile = new File(fileName);

        UserUtil.copyFileContent(tempFile,newFile);

        picNamesSet.add(newFile.getName());

        picNameSB.append(newFile.getName());

        count++ ;

        }

        getSession().setAttribute("picNamesSet",picNamesSet);

        picName = picNameSB.toString();

        }catch(IOException e){

        e.printStackTrace();

        return ERROR;

        }

        int x= 1;

        return SUCCESS;

        }

        private String generatePictureName(final String dir, final String suffix, final String fileExtension){

        StringBuffer name = new StringBuffer(dir);

        String tmpFileName = String.valueOf(System.currentTimeMillis());

        if(suffix != null)

        tmpFileName += suffix;

        tmpFileName += "." + fileExtension;

        name.append(tmpFileName);

        return name.toString();

        }

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

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

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

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

        /**

        *

        * 上传图片

        * @param servlet

        * @param request

        * @param response

        * @return

        * @throws Exception

        */

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

        public synchronized String importPic(HttpServlet servlet, HttpServletRequest request,HttpServletResponse response) throws Exception {

        SimpleDateFormat formatDate = new SimpleDateFormat("yyyyMM");

        Date nowtime=new Date();

        String formatnowtime=formatDate.format(nowtime);

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

        if(!root.isDirectory())

        {

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

        root.mkdir();

        }

        int returnflag = 0;

        SmartUpload mySmartUpload =new SmartUpload();

        int file_size_max=1024000;

        String ext="";

        String url="uploadfile/images/"+formatnowtime+"/";

        // 只允许上载此类文件

        try{

        // 初始化

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

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

        // 上载文件

        mySmartUpload.upload();

        } catch (Exception e){

        response.sendRedirect()//返回页面

        }

        com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);

        if (myFile.isMissing()){ //没有选择图片做提示!

        returnflag = 3;

        }else{

        String myFileName=myFile.getFileName(); //取得上载的文件的文件名

        ext= myFile.getFileExt(); //取得后缀名

        if(ext.equals("jpg")||ext.equals("gif")||ext.equals("bmp")||ext.equals("jpeg")||ext.equals("png")||ext.equals("JPG")){ //jpeg,png不能上传!)

        int file_size=myFile.getSize(); //取得文件的大小

        String saveurl="";

        if(file_sizefile_size_max){

        try{

        //我上面说到,把操作数据库的代友删除了,这里就应该是判断,你的图片是不是已经存在了,存在要怎么处理,不存在要怎么处了,就是你的事了 }

        //更改文件名,取得当前上传时间的毫秒数值

        Calendar calendar = Calendar.getInstance();

        //String filename = String.valueOf(calendar.getTimeInMillis());

        String did = contractBean.getMaxSeq("MULTIMEDIA_SEQ");

        String filename = did;

        String flag = "0";

        String path = request.getRealPath("/")+url;

        String ename = myFile.getFileExt();

        //.toLowerCase()转换大小写

        saveurl=request.getRealPath("/")+url;

        saveurl+=filename+"."+ext; //保存路径

        myFile.saveAs(saveurl,mySmartUpload.SAVE_PHYSICAL);

        //将图片信息插入到数据库中

        // ------上传完成,开始生成缩略图-----

        java.io.File file = new java.io.File(saveurl); //读入刚才上传的文件

        String newurl=request.getRealPath("/")+url+filename+"_min."+ext; //新的缩略图保存地址

        Image src = javax.imageio.ImageIO.read(file); //构造Image对象

        float tagsize=200;

        int old_w=src.getWidth(null);

        int old_h=src.getHeight(null);

        int new_w=0;

        int new_h=0;

        int tempsize;

        float tempdouble;

        if(old_wold_h){

        tempdouble=old_w/tagsize;

        }else{

        tempdouble=old_h/tagsize;

        }

        // new_w=Math.round(old_w/tempdouble);

        // new_h=Math.round(old_h/tempdouble);//计算新图长宽

        new_w=150;

        new_h=110;//计算新图长宽

        BufferedImage tag = new BufferedImage(new_w,new_h,BufferedImage.TYPE_INT_RGB);

        tag.getGraphics().drawImage(src,0,0,new_w,new_h,null); //绘制缩小后的图

        FileOutputStream newimage=new FileOutputStream(newurl); //输出到文件流

        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(newimage);

        encoder.encode(tag); //近JPEG编码

        newimage.close();

        returnflag = 1;

        }else{

        returnflag = 0;

        System.out.println("('上传文件大小不能超过"+(file_size_max/1000)+"K');");

        }

        }else{

        returnflag = 2;

        }

        }

        response.sendRedirect();

        return "11";

        }

        1. <small id='d9uz370p'></small><noframes id='j83u2wns'>

              <legend id='gx3hrnu4'><style id='421s74m3'><dir id='137io6eo'><q id='14lxkema'></q></dir></style></legend>
                <tbody id='fr1ygox5'></tbody>

                <tfoot id='auz2w0n3'></tfoot>
              1. <i id='yrvknciy'><tr id='28objwaf'><dt id='z42fo7u2'><q id='fnombstl'><span id='yrerx1ql'><b id='usix5pdm'><form id='jfrlmwkd'><ins id='aqzmzlj0'></ins><ul id='5b4p025u'></ul><sub id='2570voay'></sub></form><legend id='7tbexl4i'></legend><bdo id='84639z3w'><pre id='g9uchky0'><center id='re2ktfqa'></center></pre></bdo></b><th id='3ngueau9'></th></span></q></dt></tr></i><div id='n2gqjotc'><tfoot id='3lzlkb5r'></tfoot><dl id='o7scwthv'><fieldset id='p927fx2k'></fieldset></dl></div>
                • <bdo id='kj16vvpc'></bdo><ul id='ffxeu2vh'></ul>

                  上一篇:java实现登陆代码 用java实现登录程序

                  栏    目:Java编程

                  下一篇:没有了

                  本文标题:图片如何上传java代码 java图片文件上传

                  本文地址:https://www.xiuzhanwang.com/a1/Javabiancheng/17383.html

                  网页制作CMS教程网络编程软件编程脚本语言数据库服务器

                  如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

                  联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

                  Copyright © 2002-2020 脚本教程网 版权所有

                  <small id='0soobm96'></small><noframes id='2wqlfxyd'>

                  1. <tfoot id='u9oqscff'></tfoot>

                    <legend id='465in2ie'><style id='8pwytpb0'><dir id='t3guy1uj'><q id='lorz7yzt'></q></dir></style></legend>
                    • <bdo id='b3elxhah'></bdo><ul id='cbfr5r6e'></ul>

                    1. <i id='ssu2wmvd'><tr id='6ve15jfe'><dt id='g8xc4dax'><q id='jw8569mg'><span id='1e5mmv1w'><b id='xyzdczjy'><form id='7rqvm6g6'><ins id='078odrw7'></ins><ul id='va4oxoq9'></ul><sub id='vh2ni5dg'></sub></form><legend id='cam0hff4'></legend><bdo id='5cwszgiw'><pre id='np1dyeh6'><center id='3in7vtee'></center></pre></bdo></b><th id='3bdsq452'></th></span></q></dt></tr></i><div id='lflnheub'><tfoot id='bfvxfnh2'></tfoot><dl id='fq8uss8l'><fieldset id='w5sfk8jt'></fieldset></dl></div>