您的位置:首页 > Web前端 > JavaScript

jsp中用cos上传文件并重命名

2007-01-16 22:58 1016 查看
1.下载最新的cos包(http://www.servlets.com/cos/index.html),添加到web-inf / bin中

2.可上传多个文件.

3.主要用到的类

Part
ParamPart
FilePart 
MultipartParser 

upLoad()代码如下:


import com.oreilly.servlet.multipart.*;




private boolean upLoad(HttpServletRequest request, Map<String,String> paramMap)




            throws IOException ...{






        /**//*


         * 设置上传最大长度


         */


        int maxSize = 2 * 1024 * 1024;






        /**//*


         * 上传路径


         */


        String uploadpath = getServletContext().getRealPath("/")


                + Constants.picUploadPath;






        /**//*


         * 上传部分 先取出part判断是文件还是属性 


         * 如果是文件,进行相关操作 如果是属性,把属性取出,放入一个Map中,以备处理


         */




        Part part = null;


        MultipartParser mrequest = new MultipartParser(request, maxSize);


        mrequest.setEncoding("GBK");




        while ((part = mrequest.readNextPart()) != null) ...{




            if (part.isFile()) ...{






                /**//*


                 * 转化为 filePart


                 */


                FilePart filepart = (FilePart) part;




                String fileName = filepart.getFileName();






                if (fileName != null && fileName.length() > 0) ...{


                    // 取得扩展名


                    String fileExtName = fileName.substring(


                            fileName.lastIndexOf(".") + 1).toLowerCase();


                    // 只上传图片


                    if (fileExtName.equals("jpeg") || fileExtName.equals("jpg")




                            || fileExtName.equals("gif")) ...{




                        String newFileName = Util.getNewFileName() + "."


                                + fileExtName;


                        String newPath = uploadpath + newFileName;


                        File newFile = new File(newPath);




                        filepart.writeTo(newFile);




                        paramMap.put("picname", newFileName);


                    } else


                        return false;  // 说明上传的不是图片




                } else ...{


                    continue; // 说明没有选择上传图片


                }




            } else if (part.isParam()) ...{


                ParamPart paramPart = (ParamPart) part;


                paramMap.put(paramPart.getName(), paramPart.getStringValue());


            }


        }




        return true;


    }

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息