1.前段页面以及JS
<!-- HTML -->
<section class="content"><div class="row"><div class="col-xs-12"><div class="box box-success"><div class="row" style="margin-top: 1%;margin-buttom: 2%;"><div class="col-lg-2"><div class="input-group" style="padding-left: 20px;"><label>城市:</label><select name="city" id="city" style="width: 150px;"><option value="" selected="selected">--请选择--</option><option value="022">天津</option><option value="0756">深圳</option><option value="0230">重庆</option><option value="0431">长春</option><option value="0280">成都</option><option value="027">武汉</option><option value="0769">东莞</option><option value="024">沈阳</option><option value="029">西安</option><option value="0322">南京</option></select></div></div></div><div class="row" style="margin-buttom: 2%;"><div class="col-lg-3"><div class="input-group" style="padding-left: 20px;"><label>选择图片:</label><input id="file" type="file" style="padding-top: 4px;margin-left: 10px;"></div></div></div><div class="row" style="margin-top: 1%;margin-buttom: 2%;"><div class="col-lg-6" style="margin-left: 30px;"><div class="input-group"><span><button type="button" onclick="addShowAfter()" class="btn btn-info" id="">提交</button></span><span style="margin: 50px;"><button type="button" onclick="sec()" class="btn btn-info" id="">取消</button></span></div></div></div></div></div></section>
<!-- JS -->
function addShowAfter() {var cituNum = $("#city").val();var file = $("#file").val();if (city!='' && city!=null){if (file!='' && file!=null){var fileData = new FormData();var file = document.getElementById("file");var filObj = file.files[0];fileData.append("file",filObj);fileData.append("cituNum",cituNum);$.ajax({xhrFields: {withCredentials: true},url:"${pageContext.request.contextPath}/showAfter/uploadFile",type:'POST',contentType:false,processData:false,async:false,data:fileData,success:function (data) {if(data!='' && data !=null){alert('上传成功!');window.location.href="${pageContext.request.contextPath}/showAfter/findAll";}else{alert('上传失败!');}},error: function (data) {console.log(data);alert('上传失败!');}});} else {alert('请选择文件!');}} else {alert('请选择城市!');}
}
后端代码
package controller;import lombok.extern.slf4j.Slf4j;
import model.ShowAfter;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
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 org.springframework.web.multipart.commons.CommonsMultipartFile;
import service.ShowAfterService;
import util.AliyunOssUtil;
import util.FileUtil;
import util.UploadFileDto;import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;@Slf4j
@Controller
@RequestMapping("/showAfter")
public class ShowAfterController {// @Value("${SystemData.returnUrlHead}")private String baseUrl = "存储在服务器中的路径带域名"; // http://wzq.baidu.com/F// @Value("${SystemData.uploadPath}")private String basePath = "存储在服务器中的路径"; // /home/upLoadFile@Autowiredprivate ShowAfterService showAfterService;/*** 上传图片*/@RequestMapping(value = "/uploadFile")@ResponseBodypublic Object getuploadFile(@RequestParam("file") CommonsMultipartFile file, String cituNum) {System.out.println(file.getOriginalFilename() + "getOriginalFilename");System.out.println(file.getContentType() + "getContentType");System.out.println(file.getSize() + "getSize");String fileUrl = null;try{fileUrl =new ShowAfterController().uploadImageFile(file);}catch (Exception e){e.printStackTrace();}System.out.println(fileUrl);ShowAfter showAfter = new ShowAfter();showAfter.setCityNum(cituNum);showAfter.setImgUrl(fileUrl);return showAfterService.addShowAfter(showAfter);}public String uploadImageFile(CommonsMultipartFile file) throws IOException {// 保存图片并生成url1String filePath = System.currentTimeMillis() + "." + "png";String httpPath = baseUrl + File.separator + "image" + File.separator + filePath;filePath = basePath + File.separator + "image" + File.separator + filePath;FileUtil.makeDirs(filePath);File newFile = new File(filePath);file.transferTo(newFile);UploadFileDto uploadFileDto = new UploadFileDto();uploadFileDto.setCode(1);uploadFileDto.setMsg("上传图片成功!");UploadFileDto.Data data = uploadFileDto.new Data();data.setSrc(httpPath);uploadFileDto.setData(data);return httpPath;}}