使用cos组建上传文件

需要的文件:cos_2008.jar或者更高版本

1、如果是需要将文件上传到服务器的磁盘上进行保存的操作方法:

int fileSize = 10;//文件最大允许10M
String savePath = "xxx";//文件的保存目录

MultipartRequest multiRequest = new MultipartRequest(request, savePath,
                    fileSize * 1024 * 1024, "GBK", new UUIDFileRenamePolicy());//这里使用了文件进行判断,如果存在相同的文件名则使用uuid生成一个随机文件名

File mappingFile = multiRequest.getFile("myfile");//myfile:前台file上传组建的name

//如果存在这个名称的文件新旧文件名的名字就不相同
String newFileName = mappingFile.getName();
String oldFileName = multiRequest.getFilesystemName("myfile"); 
System.out.println("上传的原始文件名:" + oldFileName + ",新文件名:"+ newFileName);

2、如果只是需要读取上传的文件而不需要保存到磁盘:

    int fileSize = 10;

        try {
            MultipartParser mp = new MultipartParser(request,fileSize * 1024 * 1024);
            Part part;
            //遍历请求中的所有表单(因为只有一个文件,所以不需要while循环)
            if((part=mp.readNextPart())!=null){
          //if(part.isParam()) //普通参数
                 if(part.isFile()){//是文件
                     FilePart fp = (FilePart)part;
                     String fileName = fp.getFileName();
                     if (fileName.endsWith("csv") || fileName.endsWith("CSV")) {
                        InputStream is = fp.getInputStream();
                         
                        List uploadData = this.xxService
                            .readCsvFile(is);
                        if (null == uploadData || uploadData.size() == 0) {
                            msg = "上传失败,该csv文件里没有数据!";
                            isOk = false;
                        } else {
                            List dataList = this.xxService
                                    .getStoreListWithInCsv(uploadData);
                            request.getSession().setAttribute("uploadStoreList",
                                    dataList);
                        }
                     }else {
                        msg = "上传失败,文件格式错误!请选择csv格式的文档!";
                        isOk = false;
                    }
                 }else{
                    msg = "上传失败,请选择需要上传的文件再操作!";
                    isOk = false;
                 }
            }else{
                msg = "上传失败,请选择需要上传的文件再操作!";
                isOk = false;
            }
        } catch (Exception e) {
            msg = "上传失败,系统异常,请检查文件大小是否超过" + fileSize + "M!";
            isOk = false;
            log.error(e.getMessage(), e);
        }     
原文地址:https://www.cnblogs.com/yangzhilong/p/2992917.html