Ошибка прямой загрузки в облачный браузер при динамической установке атрибута data-form-data для ввода загрузки

с этим кодом загрузка выполняется правильно

<script>
var data = { "timestamp": "1403951115",
"callback": "http://localhost:8080/SimpleServlet/cloudinary_cors.html",
"signature": "3b1a708393db7cd0ef1df2be0c602ea99d9c64c3",
"api_key": "742866863611915" };
$('#uploadinput').attr('data-form-data', JSON.stringify(data));
</script>

если я установил динамическое значение для атрибута 'data-form-data', загрузка завершится с ошибкой: «Предустановка загрузки должна указывать предустановку загрузки при использовании загрузки без подписи»

Обратите внимание, что я устанавливаю динамическое значение данных с помощью асинхронного вызова ajax облачного сервера для получения учетных данных.


person user1986494    schedule 30.06.2014    source источник
comment
пожалуйста, также укажите код   -  person Pratik    schedule 30.06.2014


Ответы (2)


Чтобы избежать этой проблемы и начать с нее, я использовал следующий подход:

<script src="//widget.cloudinary.com/global/all.js" type="text/javascript"></script>
<script>
    cloudinary.setCloudName('YOUR_CLOUD_NAME');
    cloudinary.openUploadWidget({upload_preset: 'your_unsigned_preset_name'}, function(error, result) {//...
    })
</script>
person Oleksii Kyslytsyn    schedule 24.01.2016

Изменение параметров поля cloudinary-fileupload путем вызова $(...).attr('data-form-data', json) не работает, поскольку значение этого атрибута не перечитывается после инициализации, поэтому этот вызов не имеет никакого эффекта. Возможные последствия: ошибка 401 Unauthorized (например, из-за неизвестного ключа API) и использование исходных параметров.

Правильный способ обновить параметры загрузки - вызвать $(...).fileupload({formData: data}), где данные - это хэш параметров (не сериализованный в формате JSON).

person Itay Taragano    schedule 01.07.2014