我正在尝试使用oauth2中的api/providers/sonata.media.provider.file/media
保护access_token
API。
问题是我总是遇到以下错误:
“access_denied”error_description:“需要OAuth2身份验证”。
我的代码如下:
我的HTML:
<div class="file-input__icon">
<label>
<i class="icon-upload"></i>
<form id="form-cv" method="post"
action="api/providers/sonata.media.provider.file/media"
enctype="multipart/form-data">
<input type="hidden" name="context" value="default">
<input id="file_input_file" class="file-input__file file-input__file--add"
type="file"
accept="application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/msword,image/x-eps,application/pdf"
data-input-file="upload" name="binaryContent">
</form>
</label>
</div>
我的js:
$("#form-cv").submit(function (event) {
event.preventDefault();
$("#form-cv").append('<input type="hidden" name="access_token" value="'+ window.localStorage.access_token +'"/>');
$("#form-cv").append('<input type="hidden" name="token_type" value="'+ window.localStorage.token_type +'"/>');
var $form = $(this),
formdata = (window.FormData) ? new FormData($form[0]) : null,
data = (formdata !== null) ? formdata : $form.serialize();
window.console.log("----------------");
window.console.log(data);
window.commun.showloader([".file-input"]);
$.ajax({
url: window.back + $form.attr('action'),
type: $form.attr('method'),
// obligatoire pour de l'upload
contentType: false,
// obligatoire pour de l'upload
processData: false,
// selon le retour attendu
dataType: 'json',
data: data,
success: function (response) {
window.uploadCv.getCv(response.id);
}
});
});
你有什么建议吗?