Похоже, это довольно стандартная ошибка CORS (о которой вы можете прочитать НАМНОГО больше здесь: https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS ), что имеет место, когда вы делаете запрос из разных источников. Есть много разных способов решить эту проблему, но, вероятно, проще всего будет использовать один из наших SDK, чтобы помочь вам. Если вы посмотрите на http://devcenter.kinvey.com/html5/downloads, вы найдет SDK, который вы можете включить в свои проекты, а также руководства/документацию для него в верхней части навигации.
Загрузка файлов с использованием библиотеки HTML5 также довольно тривиальна. Вот пример кода, который я набросал:
HTML-часть:
<input type="file" name="_file" id="_file" onchange="fileSelected();" />
<div id="fileinfo">
<div id="filename"></div>
<div id="filetype"></div>
</div>
Часть Javascript:
function fileSelected(){
var oFile = document.getElementById('_file').files[0];
var oReader = new FileReader();
oReader.onload = function(e) {
document.getElementById('fileinfo').style.display = 'block';
document.getElementById('filename').innerHTML = 'Name: ' + oFile.name;
document.getElementById('filetype').innerHTML = 'Type: ' + oFile.type;
};
oReader.readAsDataURL(oFile);
fileUpload(oFile);
}
function fileUpload(file) {
var file = document.getElementById('_file').files[0];
var promise = Kinvey.File.upload(file,{
filename: document.getElementById('fileinfo').toString(),
mimetype: document.getElementById('filetype').toString()
})
promise.then(function() {
alert("File Uploaded Successfully");
}, function(error){
alert("File Upload Failure: " + error.description);
});
}
Это будет немного отличаться для каждой из библиотек Javascript Kinvey, но должно следовать примерно одному и тому же плану. Получите файл, вызовите Kinvey.File.Upload асинхронно и позвольте SDK творить чудеса. Это должно справиться со всеми уродствами CORS для вас.
Спасибо,
person
Damien-Kinvey
schedule
09.02.2016