springboot的controller层
@PostMapping("/addpic")
public Object updatasingerPic(@RequestParam("file")MultipartFile multipartFile,@RequestParam("id")int id){
JSONObject jsonObject=new JSONObject();
if(multipartFile.isEmpty()){
jsonObject.put("code",500);
jsonObject.put("msg","文件上传失败");
return jsonObject;
}
//获取从前端传过来的图片名
String fileName = System.currentTimeMillis()+multipartFile.getOriginalFilename();
//获取存放图片的路径
String filePath="C://Maven//springboot//music//img//singerpic";
File file1=new File(filePath);
if(!file1.exists()){
file1.mkdir();
}
// 实际文件地址
File dest=new File(filePath+"//"+fileName);
// 存储到数据库的相对文件地址
String addmysql="/img/singerpic/"+fileName;
try {
multipartFile.transferTo(dest);
QueryWrapper<Singer> wrapper=new QueryWrapper<>();
Singer singer=new Singer();
singer.setId(id);
singer.setPic(addmysql);
boolean update = singerService.updateById(singer);
if(update){
jsonObject.put("code",200);
jsonObject.put("msg","文件上传成功");
return jsonObject;
}
jsonObject.put("code",500);
jsonObject.put("msg","文件上传失败");
return jsonObject;
} catch (IOException e) {
jsonObject.put("code",500);
jsonObject.put("msg","文件上传失败+"+e.getMessage());
e.printStackTrace();
return jsonObject;
}finally {
return jsonObject;
}
}
uni-app
singeravator(id){
uni.chooseImage({
success: (chooseImageRes) => {
console.log(chooseImageRes)
const tempFilePaths = chooseImageRes.tempFilePaths;
uni.uploadFile({
url: 'http://localhost:8080/singer/addpic', //仅为示例,非真实的接口地址
filePath: tempFilePaths[0],
name: 'file',
formData:{
"id":id //此处可以把id传给后端
},
success: (uploadFileRes) => {
console.log(uploadFileRes)
console.log(uploadFileRes.data);
this.getall()
}
});
}
});