java 上传下载文件

// java
public String uploadFile(MultipartFile[] files) {
if (files != null && files.length > 0) {
for (MultipartFile mf : files) {
String fileName = mf.getOriginalFilename(); // 获取文件名称
String suffix = fileName.substring(fileName.lastIndexOf(".")); // 获取文件后缀
String fileRealName = DateUtil.getStringMillisecond() + suffix; // 存储的文件名
File file = new File(init.getFileManagePath() + File.separator + fileRealName);
if (!file.exists()) {
file.mkdirs();
}
try {
mf.transferTo(file); // 存入磁盘
// 数据入库
FileManage fileManage = new FileManage();
fileManage.setFilePath(init.getFileManagePath());
fileManage.setFileName(fileName);
fileManage.setFileRealName(fileRealName);
fileManageMapper.addFile(fileManage);
} catch (IOException e) {
e.printStackTrace();
return "fail";
}
}
}
return "success";
}


public void downloadFile(HttpServletResponse response, Long fileId) {
FileManage fileManage = fileManageMapper.findById(fileId);

String filePath = fileManage.getFilePath() + File.separator + fileManage.getFileRealName();
String fileName = fileManage.getFileName();
try {
response.setHeader("content-disposition", "attachment;fileName=\""+ URLEncoder.encode(fileName,"UTF-8")+"\"");
FileInputStream fis = new FileInputStream(filePath);
BufferedInputStream bis = new BufferedInputStream(fis);
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
OutputStream os = new BufferedOutputStream(response.getOutputStream());
os.write(buffer);
os.flush();
os.close();
} catch (IOException e) {
e.printStackTrace();
}
}

// html
<form id="uploadFileForm" enctype="multipart/form-data" style="display: none">
<input type="file" name="file" id="resultFile" multiple="multiple" hidden="hidden" onchange="uploadMoreFile()"/>
</form>

<input type="button" value="上传文件" id="resultUpload" onclick="$('#resultFile').click()" />


// js
// 多文件上传
function uploadMoreFile(){
let formData = new FormData($("#uploadFileForm")[0]);
$.ajax({
type: 'post',
url: webUrl+"/manage/file/uploadFile.action",
data: formData,
processData: false,
contentType: false,
}).success(function (data) {
loadFileList();
}).error(function () {});
}
// 下载
function downloadFileM(fileId) {
let form = $("<form>");
form.attr("style","display:none");
form.attr("action",webUrl+"/web/file/downloadFile.action");
form.attr("method","post");
$('body').append(form);
let input = $("<input>");
input.attr("type","hidden");
input.attr("name","fileId");
input.attr("value",fileId);
form.append(input);
form.submit();
form.remove();
}
posted @ 2022-03-02 18:17  迷路小孩  阅读(83)  评论(0)    收藏  举报