jquery文件上载到具有不同域的tornado web服务器
我正在尝试使用tornado将文件发布到文件服务器。 虽然我可以将文件发布到同一个域,但如果我的文件服务器位于不同的域或原始域的子域上,我会遇到问题。比如说从mydomain.com到files.mydomain.com 在tornado web处理程序上,我设置了一个选项和一个POST处理程序。选项函数如下所示: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
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的文件。