Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
jquery文件上载到具有不同域的tornado web服务器_Jquery_File Upload_Subdomain_Tornado - Fatal编程技术网

jquery文件上载到具有不同域的tornado web服务器

jquery文件上载到具有不同域的tornado web服务器,jquery,file-upload,subdomain,tornado,Jquery,File Upload,Subdomain,Tornado,我正在尝试使用tornado将文件发布到文件服务器。 虽然我可以将文件发布到同一个域,但如果我的文件服务器位于不同的域或原始域的子域上,我会遇到问题。比如说从mydomain.com到files.mydomain.com 在tornado web处理程序上,我设置了一个选项和一个POST处理程序。选项函数如下所示: def options(self): self.set_header('Access-Control-Allow-Origin', '*') self.set_hea

我正在尝试使用tornado将文件发布到文件服务器。 虽然我可以将文件发布到同一个域,但如果我的文件服务器位于不同的域或原始域的子域上,我会遇到问题。比如说从mydomain.com到files.mydomain.com

在tornado web处理程序上,我设置了一个选项和一个POST处理程序。选项函数如下所示:

def options(self):
    self.set_header('Access-Control-Allow-Origin', '*')
    self.set_header('Access-Control-Allow-Methods', 'POST, OPTIONS')
    self.set_header('Access-Control-Max-Age', 1000)
    self.set_header('Access-Control-Allow-Headers', '*')
    self.set_status(200)
在控制台里我得到一个

XMLHttpRequest cannot load http://files.mycomain.com/upload. Origin http://mydomain.com is not allowed by Access-Control-Allow-Origin.
但响应显示访问控制允许源标题设置为*


我如何才能使这件事正常工作?

由于存在问题,您无法直接跨域发送ajax请求。如果要将文件上载到其他域,则需要服务器(位于同一域上)作为上载的代理

另见:

  • 出于同样的原因。你可以使用我链接的另一个q&a中描述的
    document.domain
    解决方法。我现在遇到的问题是我的应用程序在GAE上,我需要存储大文件(甚至500mb以上)。我不想用blobstore保存那些大文件。由于urlfetch限制为10秒,我甚至不能使用类似代理的方法将请求主体重定向到文件服务器。我将无法在这几秒钟内发送600mb的文件。