java文件上传maven_Java-Maven实现简单的文件上传下载(菜鸟一枚、仅供参考)

package com.chao.controller;

import com.chao.utils.PathUtil;

import java.io.BufferedInputStream;

import java.io.BufferedOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.io.PrintWriter;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.ResponseBody;

import org.springframework.web.multipart.MultipartFile;

import org.springframework.web.multipart.MultipartRequest;

@Controller

@RequestMapping({"file"})public classUploadDownController {

@RequestMappingpublicString toIndex(Model model) throws Exception {

String path=PathUtil.static_root;

File file= newFile(path);

List fileList= newArrayList();if (file != null) {if(file.isDirectory()) {

File[] fileArray=file.listFiles();if ((fileArray != null) && (fileArray.length > 0))for(File f : fileArray)

fileList.add(f);

}else{

System.out.println("目录不存在!");

}

}

model.addAttribute("fileList", fileList);

model.addAttribute("path", path);return "index";

}

@RequestMapping(value= { "upload" }, method ={ org.springframework.web.bind.annotation.RequestMethod.POST })

@ResponseBodypublic voidupload(HttpServletRequest request, HttpServletResponse response) throws Exception {

MultipartRequest multipartRequest=(MultipartRequest) request;

MultipartFile file= multipartRequest.getFile("file");if ((file == null) ||(file.isEmpty())) {

response.setCharacterEncoding("GB2312");

PrintWriterout =response.getWriter();out.print("");out.flush();out.close();

}else{

String fileName=file.getOriginalFilename();

String path=PathUtil.static_root;

File dir= newFile(path, fileName);if (!dir.getParentFile().exists()) {

dir.getParentFile().mkdirs();

dir.createNewFile();

}else{

dir.createNewFile();

}

file.transferTo(dir);

response.sendRedirect("/file");

}

}

@RequestMapping({"down"})public voiddown(String filename, HttpServletRequest request, HttpServletResponse response) throws Exception {

String path=PathUtil.static_root;

String downFileName= new String(filename.getBytes("ISO8859-1"), "utf-8");

String fileName= path + File.separator +downFileName;

InputStream bis= new BufferedInputStream(new FileInputStream(newFile(fileName)));

response.addHeader("Content-Disposition", "attachment;filename=" +filename);

response.setContentType("multipart/form-data");

BufferedOutputStreamout = newBufferedOutputStream(response.getOutputStream());int len = 0;while ((len = bis.read()) != -1) {out.write(len);out.flush();

}out.close();

}

@RequestMapping({"deleteFile"})publicString deleteFile(String filename) throws Exception {

String path=PathUtil.static_root;

filename= new String(filename.getBytes("ISO8859-1"), "utf-8");

String fileName= path + File.separator +filename;

File file= newFile(fileName);if ((file.exists()) &&(file.isFile()))

file.delete();else{return "error";

}return "redirect:/file";

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值