前端调用接口的疑惑
在调用上传图片功能的时候,选择本地图片打开后,报出这个404错误,然而这个url是没有见过的
前端页面也没有搜索到这个url
尝试在接口使用debug,但是上传图片根本进入不到断点,是前端代码拼接的问题吗?老师们测试没有问题的话,本地运行可能是哪里的问题呢?
接口的代码如下
@PostMapping("/admin/upload/file")
@ResponseBody
public ApiRestResponse upload(HttpServletRequest httpServletRequest,
@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
String suffixName = fileName.substring(fileName.lastIndexOf("."));
//生成文件名称UUID
UUID uuid = UUID.randomUUID();
String newFileName = uuid.toString() + suffixName;
//创建文件
File fileDirectory = new File(Constant.FILE_UPLOAD_DIR);
File destFile = new File(Constant.FILE_UPLOAD_DIR + newFileName);
if (!fileDirectory.exists()) {
if (!fileDirectory.mkdir()) {
throw new ImoocMallException(ImoocMallExceptionEnum.MKDIR_FAILED);
}
}
try {
file.transferTo(destFile);
} catch (IOException e) {
e.printStackTrace();
}
try {
return ApiRestResponse
.success(getHost(new URI(httpServletRequest.getRequestURL() + "")) + "/images/"
+ newFileName);
} catch (URISyntaxException e) {
return ApiRestResponse.error(ImoocMallExceptionEnum.UPLOAD_FAILED);
}
}
private URI getHost(URI uri) {
URI effectiveURI;
try {
effectiveURI = new URI(uri.getScheme(), uri.getUserInfo(), uri.getHost(), uri.getPort(),
null, null, null);
} catch (URISyntaxException e) {
effectiveURI = null;
}
return effectiveURI;
}
24
收起
正在回答
1回答
同学你好,关于图片上传的代码,同学可以使用postman测试一下接口是否可以正常上传,如果可以,表示代码没有问题。
这个测试无法复现同学的问题,问一下同学具体的操作是什么。
另外建议同学换个图片试试,查看是否图片太大造成的。
这里建议同学使用源码测试再试试。
作为后端程序员,前端的代码无需过多关注的。
祝学习愉快!
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星