点击(此处)折叠或打开
- 
				PostMethod filePost = new PostMethod(url);
 
- 
				           filePost.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"utf-8"); 
 
- 
				         try
 
- 
				         {
 
- 
				         //通过以下方法可以模拟页面参数提交
 
- 
				         //filePost.setParameter("accountId", "4535435asdf");
 
- 
				         //filePost.setParameter("pass", "1234");URLEncoder.encode(param, "UTF-8")
 
- 
				           Part[] parts1 = {new StringPart("param", URLEncoder.encode(param, "UTF-8")), new FilePart(file.getName(), file)};
 
- 
				            filePost.setRequestEntity(new MultipartRequestEntity(parts1,filePost.getParams()));
 
- 
				            HttpClient client = new HttpClient();
 
- 
				            client.getHttpConnectionManager().getParams().setConnectionTimeout(8000);
 
- 
				         int status = client.executeMethod(filePost);
 
- 
				         if (status == HttpStatus.SC_OK)
 
- 
				         {
 
- 
				         return filePost.getResponseBodyAsString();
 
- 
				         // 上传成功
 
- 
				         }
 
- 
				         else
 
- 
				         {
 
- 
				         return "{\"state\":-1,\"msg\":\"上传失败.\",\"data\":[{}]}";
 
- 
				         // 上传失败
 
- 
				         }
 
- 
				         }
 
- 
				         catch (Exception ex)
 
- 
				         {
 
- 
				             return "{\"state\":-1,\"msg\":\"上传失败.\",\"data\":[{}]}";
 
- 
				         }
 
- 
				         finally
 
- 
				         {
 
- 
				               filePost.releaseConnection();
 
- }
点击(此处)折叠或打开
- 
				String charset = "UTF-8";
 
- 
				            DiskFileItemFactory factory = new DiskFileItemFactory();
 
- 
				            // 设置内存缓冲区,超过后写入临时文件
 
- 
				            factory.setSizeThreshold(10240000); 
 
- 
				            // 设置临时文件存储位置
 
- 
				            String tmpPath = LinkupManager.paramMap.get("voicePath");
 
- 
				            //获取日期
 
- 
				            String ymd = DateHandler.date2String(new Date(), "yyyyMMdd");
 
- 
				            tmpPath=tmpPath+ymd+File.separator;
 
- 
				            //tmpPath = LinkupManager.rootPath+tmpPath;
 
- 
				            File file = new File(tmpPath);
 
- 
				            if(!file.exists()){
 
- 
				                file.mkdirs();
 
- 
				            }
 
- 
				            factory.setRepository(file);
 
- 
				            ServletFileUpload upload = new ServletFileUpload(factory);
 
- 
				            // 设置单个文件的最大上传值
 
- 
				            upload.setFileSizeMax(10002400000l);
 
- 
				            // 设置整个request的最大值
 
- 
				            upload.setSizeMax(10002400000l);
 
- 
				            upload.setHeaderEncoding(charset);
 
- 
				            request.setCharacterEncoding(charset);
 
- 
				            res.setCharacterEncoding(charset);
 
- 
				        
 
- 
				                List<?> items = upload.parseRequest(request);
 
- 
				                if(items==null && items.size()!=2){
 
- 
				                    obj = new ResultObj(ResultObj.FAIL, "上传文件只能由1个文件跟1条内容Json组成.", null);
 
- 
				                    return obj.toJson();
 
- 
				                }
 
- 
				                FileItem item = null;
 
- 
				                for (int i = 0 ;i < items.size(); i++){
 
- 
				                    item = (FileItem) items.get(i);
 
- 
				                    if(item.getFieldName().equals("param")){
 
- 
				                        param = URLDecoder.decode(item.getString(charset), charset);
 
- 
				                        map.put("param", param);
 
- 
				                        if(param==null || param.equals("")){
 
- 
				                            obj = new ResultObj(ResultObj.FAIL, "Json内容不能为空.", null);
 
- 
				                            return obj.toJson();
 
- 
				                        }
 
- 
				                    }
 
- 
				                    // 保存文件
 
- 
				                    if (!item.isFormField() && item.getName().length() > 0) {
 
- 
				                        String suffixName = item.getName().substring(item.getName().lastIndexOf("."));
 
- 
				                        String newName=createPhotoID()+suffixName.toLowerCase();
 
- 
				                        tpmFilePathName = tmpPath + newName;
 
- 
				                        item.write(new File(tpmFilePathName));
 
- 
				                        File big = new File(tpmFilePathName);
 
- 
				                        String md5=MD5FileUtil.getFileMD5String(big);
 
- 
				                        map.put("filePath", File.separator+ymd+File.separator+newName);
 
- 
				                        map.put("MD5Code", md5);
 
- 
				                    }
 
- }
