APP圖片保存

從request中獲取當前請求中的文件列表

List<MultipartFile> fileList = FileUtil.multiFileRead(request);
public static List<MultipartFile> fileRead(HttpServletRequest request) {
		//用於獲取用戶上傳的全部文件
		List<MultipartFile> fileList = new ArrayList<MultipartFile>();
		try {
			CommonsMultipartResolver multipartResolver = new CommonsMultipartResolver(request.getSession().getServletContext());
			//判斷上傳的文件是否符合spring的接收標準(前臺form中需要設置相應類型)
			if(multipartResolver.isMultipart(request)) {
				MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
				MultiValueMap<String,MultipartFile> mFile = multiRequest.getMultiFileMap();
				mFile.entrySet();
				Map<String, MultipartFile> fileMap = multiRequest.getFileMap();
				for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
					// 獲取單個文件
					MultipartFile mf = entity.getValue();
					// 獲得原始文件名
					String fileName = mf.getOriginalFilename();
					// 截取文件類型; 這裏可以根據文件類型進行判斷
					String fileType = fileName.substring(fileName.lastIndexOf('.'));
				}
				//遍歷用戶上傳的文件
				Iterator<String> iter = multiRequest.getFileNames();
				while(iter.hasNext()) {
					//獲取文件
					fileList.add(multiRequest.getFile((String)iter.next()));
				}
			}
			
			return fileList;
		} catch (Exception e) {
			log.error(e.getLocalizedMessage());
			throw new BusinessException(e.getLocalizedMessage());
		}
		
	}
for (MultipartFile file : fileList) {
			if (file != null) {
				FileInfo fileInfo = new FileInfo();
				Map<String, String> map = FileUtil.newFileUpload(file);
				fileInfo.setLinkId(eventBase.getId());
				fileInfo.setFileName(map.get(FileUtil.FILENAME));
				fileInfo.setFileURL(map.get(FileUtil.FILEURL));
				fileInfo.setFileSize(map.get(FileUtil.FILESIZE));
				fileInfo.setCreatorId(eventBase.getCreator());

				// 保存文件數據
				fileInfoDAO.insertFileInfo(fileInfo);
			}
		}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章