Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript dropzone.js图像上载到不同服务器(跨域)_Javascript_Jquery_Node.js_Cross Domain_Dropzone.js - Fatal编程技术网

Javascript dropzone.js图像上载到不同服务器(跨域)

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

这是我上传图片的代码,如果我把表单操作作为同一个服务器,它就可以正常工作了

如果我对不同的服务器执行操作,则无法工作

html:

<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);