这里我没有使用阿里云OSS 而是通过本地存储Nginx映射的方法来替代Nginx首先可以在你的项目目录下创建一个专门存放图片的文件夹如html/sky/img/目录原本给的资料里好像已经有了img这个文件夹里面也有一些图片然后需要修改Nginx.conf 这个配置文件在里面添加一个location规则注意这里一定要是绝对路径且要把路径的反斜杠改为斜杠然后再重启Nginx 服务application.yml在application.yml 里添加file 配置项告诉程序图片要存到Nginx 监听的目录并返回对应访问地址在sky中加入这一段配置sky:file:# 这里的地址必须和你刚才在Nginx配置里写的 alias 路径保持一致 file-path:D:/BaiduNetdiskDownload/1、黑马程序员Java项目《苍穹外卖》企业级开发实战/资料/day01/前端运行环境/nginx-1.20.2/html/sky/img/# 这个地址是前端访问图片的基准地址因为Nginx监听的是80端口 endpoint:http://localhost/img/同时注意这里的file-path:与路径之间要有一个空格endpoint 同理最后只需要在CommonController 文件里实现上传文件的接口代码即可CommonController在里面实现这么一个接口方法RestControllerRequestMapping(/admin/common)Slf4jpublicclassCommenController{/* 注入你在application.yml中配置的路径 */Value(${sky.file.file-path})privateStringfilePath;/* 注入你在application.yml中配置的文件访问前缀endpoint */Value(${sky.file.endpoint})privateStringendpoint;/* 文件上传 */PostMapping(/upload)publicResultStringupload(MultipartFilefile){log.info(文件上传{},file.getOriginalFilename());try{//获取原始文件名后缀StringoriginalFilenamefile.getOriginalFilename();StringextensionoriginalFilename.substring(originalFilename.lastIndexOf(.));//生成一个新的唯一文件名UUIDStringobjectNameUUID.randomUUID().toString()extension;//构建本地文件完整路径FiledestnewFile(filePath/objectName);//如果父目录不存在创建父目录if(!dest.getParentFile().exists()){dest.getParentFile().mkdirs();}//真正的保存动作file.transferTo(dest);//拼接最后访问网址给前端StringurlendpointobjectName;returnResult.success(url);}catch(IOExceptione){log.error(文件上传失败{},e.getMessage());returnResult.error(文件上传失败);}}}这是我第一次发博客经验不足希望各位大佬多多指导