第一步:前端内容
<div class="form-group">
<label class="col-md-3 control-label"><span class="field-required">
* </span>音乐片段</label>
<div class="col-md-4">
<div id="input-error">
<input type="hidden" id="path" name="path" class="form-control"/>
<input id="file" type="file" name="file" data-url="<%=request.getContextPath() %>/video/bgmUpload.action" accept=".mp3"/>
<div id="bgmContent"></div>
</div>
</div>
</div>
第二步:后端内容
package com.lpy.controller;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.UUID;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;
import com.lpy.bean.AdminUser;
import com.lpy.pojo.Users;
import com.lpy.service.UsersService;
import com.lpy.utils.LpyJSONResult;
import com.lpy.utils.PagedResult;
@Controller
@RequestMapping("video")
public class VideoController {
//进行页面跳转
@GetMapping("/showAddBgm")
public String login() {
return "video/addBgm";
}
@PostMapping("/bgmUpload")
@ResponseBody //表示返回到前端的是json對象
public LpyJSONResult bgmUpload(@RequestParam("file") MultipartFile[] files) throws Exception {
//定义我们的命名空间,所有的文件都可以上传在这之下 File.separator 根据系统打不同的斜杠
//linux上阿德部署路径
//String fileSpace=File.separator+"java_all"+File.separator+"workspace-wxxcs"+File.separator+"video-space"+File.separator+"admin-bgm";
String fileSpace="D:/java_all/workspace-wxxcs/video-space/admin-bgm";
//保存到数据库中的相对路径(在命名空间每个不同用户存的文件)
String uploadPathDB=File.separator+"bgm";
FileOutputStream fileOutputStream=null;
InputStream inputStream=null;
try {
if(files!=null && files.length>0) {
//获取文件名
String fileName=files[0].getOriginalFilename();
if(StringUtils.isNotBlank(fileName)) {
//文件上传的最终保存路径
String finalPath=fileSpace+uploadPathDB+"/"+fileName;
//设置数据库保存的路径
uploadPathDB += ("/"+fileName);
File outFile = new File(finalPath);
if(outFile.getParentFile()!=null ||!outFile.getParentFile().isDirectory()) {
//创建父文件夹
outFile.getParentFile().mkdirs();
}
//文件输出
fileOutputStream = new FileOutputStream(outFile);
inputStream = files[0].getInputStream();
IOUtils.copy(inputStream, fileOutputStream);
}
}else {
return LpyJSONResult.errorMsg("上传出错");
}
} catch (Exception e) {
e.printStackTrace();
return LpyJSONResult.errorMsg("上传出错");
}finally {
if(fileOutputStream!=null) {
fileOutputStream.flush();
fileOutputStream.close();
}
}
return LpyJSONResult.ok(uploadPathDB);
}
}