Я использовал Java для создания тега Image upload:
Map options = ObjectUtils.asMap("resource_type", "auto");
options.put("callback", "http://localhost:8080/cloudinary_cors.html");
Map htmlOptions = null;
String html = cloudinary.uploader().imageUploadTag("image_id", options, htmlOptions);
Поместите эту строку в атрибут модели и покажите на странице. Выглядит как кнопка "Выбрать файл".
Выбрал какое-то изображение и jquery.fileupload попытался отправить это изображение в Cloudinary.
Я получил Код состояния: 400 Bad Request и ответ:
error: {message: "Upload preset must be specified when using unsigned upload"}
Все мои настройки верны, я могу отправить изображение с сервера, используя этот код:
Map uploadResult = cloudinary.uploader().upload("image.jpg", ObjectUtils.emptyMap())
но я не могу отправить файл со стороны клиента.
Код страницы:
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<script th:src="@{/js/common/jquery-1.11.3.min.js}" type="text/javascript"/>
<script th:src="@{/js/cloudinary/jquery.ui.widget.js}" type="text/javascript"/>
<script th:src="@{/js/cloudinary/jquery.iframe-transport.js}" type="text/javascript"/>
<script th:src="@{/js/cloudinary/jquery.fileupload.js}" type="text/javascript"/>
<script th:src="@{/js/cloudinary/jquery.cloudinary.js}" type="text/javascript"/>
</head>
<body>
<span th:utext="${cloudyURL}" th:remove="tag"></span>
<!-- config CloudinaryApi -->
<script th:inline="javascript">
$.cloudinary.config({"cloud_name":"CLOUDNAME", "api_key":"APIKEY"});
</script>
</body>
</html>
Я прочитал все руководства Cloudinary, проблемы с github, ответы на stackoverflow, но не могу заставить работать прямую загрузку. Помогите, пожалуйста, разобраться с этой проблемой.