java文件上传(单文件 多文件)与删除

网友投稿 308 2023-06-16


java文件上传(单文件 多文件)与删除

话不多说,请看代码

/**

* 文件上传--单文件

*

* @param request

* @param response

* @param path

* 文件存放路径(path为WebApp\后面的内容)

* @return

*/

public final static String fileUpload(HttpServletRequest request,

HttpServletResponse response, String path) {

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

Map fileMap = multipartRequest.getFileMap();

MultipartFile mFile = null;

for (Iterator> i = fileMap.keySet().iterator(); i.hasNext();) {

Object obj = i.next();

mFile = (MultipartFile) fileMap.get(obj);

}

String filePath = "";

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");

try {

// 得到上传的文件的文件名

String filename = mFile.getOriginalFilename();

// 获取文件后缀名

if (filename != null && !http://("").equals(filename)) {

String fileExt = filename.substring(filename.lastIndexOf("."));

// 按时间格式重新生成文件名

String newFileName = sdf.format(new Date())

+ (int) (Math.random() * 100) + fileExt;

filePath = path + "/" + newFileName;

// 得到上传服务器的物理路径

path = request.getSession().getServletContext()

.getRealPath("\\" + path);

// 文件流写到服务器端

File saveFile = new File(path, newFileName);

FileCopyUtils.copy(mFile.getBytes(), saveFile);

}

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

return filePath;

}

/**

* 文件上传--多文件

*

* @param request

* @param response

* @param filePaths

* (fileinputId,WebApp\后面的内容)

* @return

*/

public final static Map fileUploads(

HttpServletRequest request, HttpServletResponse response,

String path) {

MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

Map fileMap = multipartRequest.getFileMap();

Map filePaths = new HashMap();

// 得到上传服务器的物理路径

String fileUrl = request.getSession().getServletContext()

.getRealPath("\\" + pahttp://th);

for (Iterator> i = fileMap.keySet().iterator(); i.hasNext();) {

Object obj = i.next();

MultipartFile mFile = (MultipartFile) fileMap.get(obj);

// 得到上传的文件的文件名

String filename = mFile.getOriginalFilename();

if (filename == "" || filename == null) {

continue;

}

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");

// 获取文件后缀名

String fileExt = filename.substring(filename.lastIndexOf("."));

// 按时间格式重新生成文件名

String newFileName = sdf.format(new DatGlbqDe())

+ (int) (Math.random() * 100) + fileExt;

String filePath = path + "/" + newFileName;

// 文件流写到服务器端

try {

filePaths.put(obj.toString(), filePath);

File saveFile = new File(fileUrl, newFileName);

FileCopyUtils.copy(mFile.getBytes(), saveFile);

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

return filePaths;

}

/**

* 删除文件,

*

* @param request请求

* @param filePath文件路径

* (static/upload/...)

* @return

*/

public static boolean fileDelete(HttpServletRequest request, String filePath) {

String fileUrl = request.getSession().getServletContext()

.getRealPath("\\" + filePath);// 得到上传服务器的物理路径

File file = new File(fileUrl);

fileDelete(file);

return false;

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:javaweb上传下载实例完整版解析(下)
下一篇:java 工厂方法详解及实例代码
相关文章

 发表评论

暂时没有评论,来抢沙发吧~