我有一个小问题,将用户上传的图像发送到我们的 api 域,我使用的是 dropzone.js,但是看起来这不是 HTML 代码的错误,而是 .htaccess
代码。
虽然我认为我的 HTML 代码没有任何问题,但我会在下面粘贴它。
HTML代码:
<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>
在 API 服务器上,我将以下内容添加到 .htaccess
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]
但是我仍然收到以下错误
XMLHttpRequest cannot load https://apisite.com Request header field Cache-Control is not allowed by Access-Control-Allow-Headers in preflight response.
最佳答案
尝试将以下属性添加到您的 dropzone 对象“mydrop”:
headers: {
'Cache-Control': null,
'X-Requested-With': null,
}
关于javascript - 请求头字段 Cache-Control 不允许,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44534522/