我遇到一个小问题,将用户上传的图像发送到我的api域我使用的是dropzone.js,但是看起来虽然HTML代码不是错误,但是{{{ 1}}代码。
虽然我认为我的HTML代码没有任何问题,但我会在下面粘贴它。
HTML code:
.htaccess
在API服务器上,我已将以下内容添加到.htaccess
<div class="mdl-grid mdl-cell mdl-cell--11-col">
<div class="mdl-grid">
<div class="mdl-cell mdl-cell--12-col">
<div id="profile" class="dropzone">
</div>
</div>
</div>
<script type="text/javascript">
var mydrop = new Dropzone("div#profile", {
url: "https://APISITEDOMAIN.COM/",
paramName: "file",
maxFiles : 1,
uploadMultiple: false,
addRemoveLinks : false,
acceptedFiles: 'image/*',
autoProcessQueue: true,
init: function() {
var submitButton = document.querySelector("#act-on-upload")
myDropzone = this;
submitButton.addEventListener("click", function() {
myDropzone.processQueue();
});
myDropzone.on("addedfile", function(file) {
if (!file.type.match(/image.*/)) {
if(file.type.match(/application.zip/)){
myDropzone.emit("thumbnail", file, "path/to/img");
} else {
myDropzone.emit("thumbnail", file, "path/to/img");
}
}
});
myDropzone.on("complete", function(file) {
myDropzone.removeFile(file);
});
},
});
console.log( mydrop.dropzone );
</script>
但是我仍然收到以下错误
ErrorDocument 403 http://SITE.xyz/
RewriteEngine On
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]
答案 0 :(得分:4)
尝试将以下属性添加到dropzone对象'mydrop':
headers: {
'Cache-Control': null,
'X-Requested-With': null,
}
答案 1 :(得分:0)
根据W3's documentation on CORS with preflight,您需要“添加Access-Control-Request-Method标头,其标头字段值为request method(即使是simple method)”。
希望这有帮助!