若依 图片上传接口

该博客介绍了如何使用Spring Boot创建一个处理文件上传的RESTful API,通过@RequestParam获取MultipartFile,展示了上传验证、错误处理和成功响应的过程。
@Controller
@RequestMapping("/upload")
public class UploadPic extends BaseController {

    @ResponseBody
    @PostMapping("/savePic")
    public String savePic(@RequestParam("picFile")MultipartFile picFile) {
        String res = "";
        if(picFile != null && !picFile.isEmpty()){
            try {
                res = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), picFile);
            } catch (IOException e) {
                e.printStackTrace();
                return "图片上传失败,请重新上传";
            }
        }else{
            return "图片上传失败,请重新上传";
        }
        return res;
    }
}
若依框架中的图片上传接口是通过后端控制器 `CommonController` 提供的,具体方法是 `/upload`,这是一个 POST 请求接口,接收一个 `MultipartFile` 类型的文件参数。在调用该接口时,需要向后端传递文件数据,并接收返回的包含文件访问地址的 JSON 数据。 以下是如何调用该接口的说明: ### 接口信息 - **请求方式**:POST - **请求地址**:`/upload` - **请求参数**: - `file`:上传的图片文件,类型为 `MultipartFile` - **返回值**: - `url`:文件在服务器上的访问地址 - `fileName`:文件名 - `newFileName`:新生成的文件名(通常与 `url` 相同) - `originalFilename`:原始文件名 ### 调用方式示例 #### 使用 Postman 测试接口 1. 打开 Postman。 2. 设置请求方式为 `POST`,输入地址 `http://你的域名/upload`。 3. 在 `Body` 中选择 `form-data`。 4. 键值对中输入 `file` 作为键,选择文件作为值。 5. 发送请求,将收到包含文件访问地址的响应。 #### 使用 Java 调用接口 ```java public class FileUploadClient { public static void main(String[] args) { String url = "http://你的域名/upload"; File file = new File("path/to/your/image.jpg"); try { HttpClient client = HttpClientBuilder.create().build(); HttpPost post = new HttpPost(url); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", new FileInputStream(file), ContentType.APPLICATION_OCTET_STREAM, file.getName()); HttpEntity entity = builder.build(); post.setEntity(entity); HttpResponse response = client.execute(post); System.out.println(EntityUtils.toString(response.getEntity())); } catch (Exception e) { e.printStackTrace(); } } } ``` #### 使用 JavaScript 调用接口 ```javascript const formData = new FormData(); const fileInput = document.querySelector('#fileInput'); formData.append('file', fileInput.files[0]); fetch('/upload', { method: 'POST', body: formData }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error)); ``` ### 文件访问 上传成功后,接口会返回文件的访问地址,格式如下: ``` { "url": "https://your-oss-bucket/path/to/file.jpg", "fileName": "file.jpg", "newFileName": "file.jpg", "originalFilename": "original.jpg" } ``` 前端可以通过 `url` 字段直接访问该图片。 ### 注意事项 - 确保上传接口的路径正确,并且后端服务已启动。 - 上传的文件需要符合大小和格式限制(若依框架中通常有默认配置)。 - 若使用 OSS 存储,需确保 `FileStorageService` 已正确配置并注入[^2]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OOObject

你的鼓励是我创作的最大源泉

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值