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


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;
    }
 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值