ajax执行提交上传图片
html:
<form>
<img style="width: 156px; height: 186px;" name="" id="images_url" class="onclicks" src="" />
<input type="hidden" name="p_images_url" id="images_url_hide" />
<input type="file" name="images" id="images" class="images" style="display: none;" onchange="setImg()" />
</form>
js:
//我这里是在别的请求后触发,根据自己的需求执行触发事件
function tijiaoTuPian(){
var formdata = new FormData();
formdata.append("images",$("#images").prop("files")[0]);
$.ajax({
type:"post",
url:globalData.server+"image/save-test",
async:true,
processData: false,
contentType: false,
data:formdata,
success:function(res){
window.location.href="register_people.html";
}
});
}
controller:
@RequestMapping(value = "/image/save-test",method = RequestMethod.POST)
public void saveImg(@RequestParam("images") MultipartFile file)throws Exception {
String fileName = file.getOriginalFilename();//获取文件全名
String end=fileName.substring(fileName.length()-3,fileName.length()); //获取文件后缀名
DateFormat df = new SimpleDateFormat("yyyyMMddHHmmssSSS");
//图片名称 采取时间拼接随机数
String name = df.format(new Date());
Random r = new Random();
for(int i = 0 ;i < 3 ;i++){
name += r.nextInt(10);
}
String returnPath = name + "." +end; //目标文件的文件名
String url="D:\\APP\\Hbuilde存储地址\\human\\spz\\images";//需要存到那个目录
String pathname = url+ "\\" + fileName;//最终存的文件全部路径
file.transferTo(new File(pathname));//文件转存
}
个别包名
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;