我试图使用他们的REST API将我的图片上传到Cloudinary。来自CN1的Cloudinary库对我来说工作得非常好,但我希望能够控制诸如FailSilently和addToQueue和addToQueueAndWait等一些东西。使用REST API上传到Cloudinary CN1
这是我的代码,我在那里用相机拍照,然后我上传到Cloudinary,但它似乎并没有工作:
@Override
protected void onMain_ButtonSubirAPIAction(Component c, ActionEvent event) {
String picture = Capture.capturePhoto(width, -1);
if(picture!=null){
String cloudinaryURL = "https://api.cloudinary.com/v1_1/"+CLOUDNAME+"/image/upload";
MultipartRequest request = new MultipartRequest() {
protected void readResponse(InputStream input) throws IOException {
JSONParser jp = new JSONParser();
Map <String, Object> result = jp.parseJSON(new InputStreamReader(input, "UTF-8"));
labelX.setText((String)result.get("url"));
}
};
request.setPost(true);
request.setHttpMethod("POST");
String encoded = Base64.encodeNoNewline((APIKEY + ":" + APISECRET).getBytes());
request.addRequestHeader("Authorization", "Basic " + encoded);
request.setUrl(cloudinaryURL);
try {
request.addData("file", picture, "image/jpeg");
request.addArgument("public_id", "name1");
NetworkManager.getInstance().addToQueue(request);
} catch(Exception err) {
}
}
}
我一直在试图修改从表示其参数API文档页面:http://cloudinary.com/documentation/admin_api#usage_examples
感谢
编辑: 下面是语法:
嗨Sha。我刚刚添加了您的线路,但仍然收到“400 BAD REQUEST”消息。你认为addData()和addArgument()方法正确使用吗? – Felipe
你确实删除了@部分吗?您提供的链接不适用于上传API部分,但我认为该网址应该包含图片名称,尽管这有点不清楚。 –
是的,我删除了@。请参阅代码。我刚刚更新了它。我还添加了语法(URL和参数)的屏幕截图。我假设我必须使用addArgument()方法和使用addData()的路径来添加“public_id”(上传图片的名称) – Felipe