Javascript dropzone.js图像上载到不同服务器(跨域)
这是我上传图片的代码,如果我把表单操作作为同一个服务器,它就可以正常工作了 如果我对不同的服务器执行操作,则无法工作 html:Javascript dropzone.js图像上载到不同服务器(跨域),javascript,jquery,node.js,cross-domain,dropzone.js,Javascript,Jquery,Node.js,Cross Domain,Dropzone.js,这是我上传图片的代码,如果我把表单操作作为同一个服务器,它就可以正常工作了 如果我对不同的服务器执行操作,则无法工作 html: <div id="dropzone"> <form action="http://localhost:8080/stardom/api/v1/image" class="dropzone"> <input
<div id="dropzone">
<form action="http://localhost:8080/stardom/api/v1/image" class="dropzone">
<input type="hidden" name="album_id" value="" id="album_id" />
<div class="fallback">
<input name="file" type="file" multiple="" />
</div>
</form>
</div>
js:
$(“.dropzone”).dropzone({
paramName:“file”,//将用于传输文件的名称
maxFilesize:2,//MB
AcceptedMitypes:'image/*',
addRemoveLinks:false,
默认信息:
'删除要上载的文件\
(或单击)
\
'
,
dictResponseError:'上载文件时出错!',
//将previewTemplate更改为使用引导进度条
previewTemplate:“\n\n\n\n\n\n\n\n\n\n”,
完成:函数(){
if(this.getUploadingFiles().length==0&&this.getQueuedFiles().length==0){
loadImages();
}
}
});
问题:如何让dropzone.js将文件上传到不同的服务器?如果您打算在ServerA向浏览器提供内容的情况下执行任何操作,并且浏览器希望将信息转到并发送到ServerB,并且您是通过javascript/ajax执行此操作的,您需要告诉接收服务器B,它应该接受来自它不只是服务的服务器的数据发布。通常这是通过使用 访问控制允许源“*” 在.htaccess文件中
我在这方面有一些经验,但不是很多。我已经在内部平台应用程序中使用了它,我们不需要担心XSS。希望有帮助。对不起,这么晚了。我使用了这个代码,它工作正常
//CORS middleware
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, Cache-Control, Accept, Origin, X-Session-ID');
res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,HEAD,DELETE,TRACE,COPY,LOCK,MKCOL,MOVE,PROPFIND,PROPPATCH,UNLOCK,REPORT,MKACTIVITY,CHECKOUT,MERGE,M-SEARCH,NOTIFY,SUBSCRIBE,UNSUBSCRIBE,PATCH');
res.header('Access-Control-Allow-Credentials', 'false');
res.header('Access-Control-Max-Age', '1000');
next();
}
server.use(allowCrossDomain);
我正在使用node,在我的代码中已经有了
访问控制允许源“*”
,但我已经得到了解决方案,我会将其更新为答案
//CORS middleware
var allowCrossDomain = function(req, res, next) {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Requested-With, Cache-Control, Accept, Origin, X-Session-ID');
res.header('Access-Control-Allow-Methods', 'GET,POST,PUT,HEAD,DELETE,TRACE,COPY,LOCK,MKCOL,MOVE,PROPFIND,PROPPATCH,UNLOCK,REPORT,MKACTIVITY,CHECKOUT,MERGE,M-SEARCH,NOTIFY,SUBSCRIBE,UNSUBSCRIBE,PATCH');
res.header('Access-Control-Allow-Credentials', 'false');
res.header('Access-Control-Max-Age', '1000');
next();
}
server.use(allowCrossDomain);