Java 文件上传至leanCloud

首先,在Controller端入参设置为

@RequestParam(value = "file",defaultValue = "") MultipartFile file

 然后在Service端输入以下代码

public BaseResult uploadFile(MultipartFile file) {
        Outbounds_Mobile.R2M_INT_005 response = new Outbounds_Mobile.R2M_INT_005();
        AVOSCloud.initialize(globalProperties.leancloud_appid,globalProperties.leancloud_appkey,globalProperties.leancloud_masterkey);
        try {
            AVFile cloudFile = null;
            try {
                cloudFile = new AVFile(file.getName(),file.getBytes());
            } catch (IOException e) {
                e.printStackTrace();
                response.status = Config.Result_Error;
                response.message = e.getMessage();
            }
            cloudFile.save();
            response.url = cloudFile.getUrl();
            response.objectId = cloudFile.getObjectId();
            response.message = "成功";
        } catch (AVException e) {
            e.printStackTrace();
            response.status = Config.Result_Error;
            response.message = e.getMessage();
        }
        return  response;
    }

 

其中,在使用AVFile前一定要初始化,同时在properitier文件中设置

#uploadfile AVOSCloud.initialize
roadrunner.leancloud_appid=kg1xLtsFrnf04rl2c98IzDhu-gzGzoHsz
roadrunner.leancloud_appkey=rk4noFXig6I3Nsti6MjeqDva
roadrunner.leancloud_masterkey=dI90B14c74XPtnIl1QNz8XmD

 如果是使用gradle,在连接池中注入

compile("cn.leancloud:java-sdk:0.1.6")   //LeanCloud上传所需SDK
compile("commons-fileupload:commons-fileupload:1.3.1") //文件上传

在测试这个接口时注意

1.form表单里设置 enctype 属性 enctype="multipart/form-data"。

2.如果用 postman 测试,应该选 form-data。

3.如果使用restClient ,使用multipart body。

posted @ 2018-07-04 15:38  贪梦好  阅读(265)  评论(0编辑  收藏  举报