java实现文件上传FileUpload
2013-07-14 08:25
274 查看
》java实现文件上传FileUpload 作者:左轩、Shiny
FileUploadUtil.java
FileUploadUtil.java
package com.shiny.ertao.utils; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.UUID; import com.shiny.ertao.model.GoodsFile; public class FileUploadUtil { //默认文件后缀 private static String extName=".jpg"; private static String uploadDir = "goods"; /** * 获取文件扩展名 如jpg,png,gif,doc,exe,rar== * @param fileName 文件名 * @return */ public static String getFileExt(String fileName){ if(!fileName.contains(".")) return extName; if(fileName.endsWith(".")) return extName; return fileName.substring(fileName.lastIndexOf(".")+1); } /** * 替换文件名 * @param oldName 文件名 * @return 返回一个32位随机文件名 */ public static String updateFileName(String oldName){ return UUID.randomUUID().toString()+"."+getFileExt(oldName); } /** * 返回一个新文件名 * @param newName 新文件名(不带后缀) * @param oldName 旧文件名 * @return */ public static String updateFileName(String newName,String oldName){ return newName+"."+getFileExt(oldName); } /** * 文件上传 * @param file 文件对象 * @param filePath 新文件路径+文件名(必须存在) * @return */ public static boolean uploadFile(File file,String fileName){ boolean flag = false; InputStream in=null; OutputStream out = null; try { in = new FileInputStream(file); out = new FileOutputStream(fileName); byte[] b = new byte[1024]; int len=0; while((len=in.read(b))!=-1){ out.write(b,0,len); } flag = true; out.close(); in.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return flag; } /** * 匹配后缀是否支持 * @param oldName 文件名 * @param exts 后缀数组 * @return */ public static boolean chekcExt(String oldName,String[] exts){ String ext = getFileExt(oldName); boolean flag = false; for(int i=0;i<exts.length;i++){ if(ext.equalsIgnoreCase(exts[i])){ flag = true; } } return flag; } /**图片上传 * 获取拼接后的图片 * @param goodsFile 图片对象 * @param basePath 上传路径 * @return */ public static String getUploadFile(GoodsFile goodsFile,String basePath){ StringBuffer buff = new StringBuffer(); for(int i=0;i<goodsFile.getGoodsImage().length;i++){ String temp = goodsFile.getGoodsImageFileName()[i]; String fileName = FileUploadUtil.updateFileName(temp); //System.out.println("新文件名==>"+fileName); //组合文件名 buff.append(fileName+"?"); //文件上传 FileUploadUtil.uploadFile(goodsFile.getGoodsImage()[i], basePath+"\\"+fileName); } return buff.substring(0,buff.length()-1); } }
相关文章推荐
- java组件SmartUpload和FileUpload实现文件上传功能
- JAVA学习提高之---- FileUpload组件实现多文件上传(JSP+SERVLET)实现
- java组件commons-fileupload实现文件上传、下载、在线打开
- 转 [JAVA] 使用 common-fileupload 实现文件上传
- Java中使用fileupload组件实现文件上传功能的实例代码
- java web 利用 commons-fileupload-1.2 实现文件上传 解决 中文乱码& 非文件属性的读取
- java使用FileUpload实现文件的上传和下载
- JAVA使用commos-fileupload实现文件上传与下载实例解析
- java文件上传--Apache Commons fileUpload实现文件上传
- java积累——apache commons fileupload 实现文件上传
- 《Java》----详解用apache的commons-fileupload组件实现文件上传
- JAVA-使用commos-fileupload实现文件上传与下载
- Java使用Commons-FileUpload组件实现文件上传最佳方案
- java组件commons-fileupload实现文件上传
- java使用common-fileupload实现文件上传
- JAVA学习提高之---- FileUpload组件实现多文件上传(JSP+SERVLET)实现
- java利用commons-fileupload组件实现文件的上传与下载
- [JAVA]彻底抛弃 jspSmartUpload,使用 common-fileupload 实现文件上传
- 用Java写个ftp传输类实现文件的上传和下载,用ikvmc转成dll
- 使用ServletFileUpload 实现文件上传 和获取文件信息