前端调用接口的疑惑

前端调用接口的疑惑

在调用上传图片功能的时候,选择本地图片打开后,报出这个404错误,然而这个url是没有见过的
http://img1.sycdn.imooc.com//climg/5fb8d6550930aa2e05980153.jpg

前端页面也没有搜索到这个url
http://img1.sycdn.imooc.com//climg/5fb8d76209b2657108700584.jpg

尝试在接口使用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;
}

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,关于图片上传的代码,同学可以使用postman测试一下接口是否可以正常上传,如果可以,表示代码没有问题。

这个测试无法复现同学的问题,问一下同学具体的操作是什么。

另外建议同学换个图片试试,查看是否图片太大造成的。

这里建议同学使用源码测试​再试试。

作为后端程序员,前端的代码无需过多关注的。

祝学习愉快!


  • 愤怒的二哈 提问者 #1
    postman可以上传图片没有问题,这个情况呢,是我下载了老师的源码后,使用带前端的源码进入后台后无法进行/admin/upload/file这个上传图片接口模块的操作,排查的结果只有可能是前端代码url拼接出现了错误,但是看太懂这个前端框架的逻辑,就觉得这个错误云里雾里的
    2020-11-21 19:47:42
  • 好帮手慕阿慧 回复 提问者 愤怒的二哈 #2
    同学你好,老师这边测试前端代码没有问题。同学保证后端代码没有问题就可以了,前端代码会有专门的前端人员开发,同学不需要多过关心前端。 祝学习愉快~
    2020-11-22 10:18:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师