老兄,最后这个问题怎么解决的
有谁有java调用云开发HTTP api上传文件的代码样例?我在用java调用云开发HTTPAPI上传文件时,总返回400错误,麻烦大神帮忙看下问题出在哪? import cn.hutool.json.JSONObject; import com.dimon.cloud.commons.rest.ApiResponse; import com.dimon.cloud.customize.feign.WechatApi; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.mime.MultipartEntityBuilder; import org.apache.http.impl.client.HttpClientBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.multipart.MultipartFile; import javax.validation.constraints.NotNull; import java.io.IOException; /** * @Author: He Zhigang * @Date: 2019/10/12 18:00 * @Description: */ @RestController public class BackendController { @Autowired String accessToken; @Autowired WechatApi wechatApi; @PostMapping("/upload/prod/img") public ApiResponse uploadFile(@NotNull MultipartFile file) throws IOException { String dir = "p_cust/prod/img/"; String path = dir + file.getOriginalFilename(); JSONObject reqBody = new JSONObject(); reqBody.put("env", "dev-4cs4fs"); reqBody.put("path", path); JSONObject respJson = wechatApi.uploadFile(accessToken, reqBody); String url = respJson.getStr("url"); // HttpResponse httpResponse = HttpRequest.post(url) // .contentType("multipart/form-data") // .header("Content-Type", "multipart/form-data") // .form("key", path) // .form("Signature", respJson.getStr("authorization")) // .form("x-cos-security-token", respJson.getStr("token")) // .form("x-cos-meta-fileid", respJson.getStr("cos_file_id")) // .form("file", file) // .execute(); HttpClient httpClient = HttpClientBuilder.create().build(); HttpPost httpPost = new HttpPost(url); httpPost.setHeader("Content-Type", "multipart/form-data"); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addBinaryBody("file", file.getBytes()) .addTextBody("key", path) .addTextBody("Signature", respJson.getStr("authorization")) .addTextBody("x-cos-security-token", respJson.getStr("token")) .addTextBody("x-cos-meta-fileid", respJson.getStr("cos_file_id")); httpPost.setEntity(builder.build()); org.apache.http.HttpResponse res = httpClient.execute(httpPost); return ApiResponse.ok().setBody(res); } } 上面我用了两种不同的HTTP client 都是返回同样的错误。[图片]
2019-12-19你好,我也遇到了同样的问题,请问你最后怎么解决的?
微信云开发httpApi中获取文件上传链接获取连接后post总出400错误?获取上传连接后,拼装好multipart/form-data后 发送大于5KB文件就会报400错误
2019-12-18我也遇到了同样的问题,请问你解决没有
云开发调用云函数出现的问题?错误信息:Uncaught (in promise) Error: errCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestID 7caa9d98-1bc1-11ea-afe4-5254003e0a60, cloud function service error code -504002, error message The "original" argument must be of type function; at cloud.callFunction api; 有没有大佬遇到过这种BUG啊
2019-12-13