zoukankan      html  css  js  c++  java
  • 跨域上传文件(还是没有明白)

    1. 转:
    2. 最近工作中有这样的需求:项目在A机器(假设域名为www.a.com)上跑,资源文件要存储在专门的资源机器B(假设域名为www.b.com),要求在A上传文件到B上同时将上传信息以json格式返回。  
    3.    
    4. 由于之前的项目都比较小,也没有这样的需求,基本都是在单机上操作,自然涉及不到跨域的问题,初次遇到这个问题,比较棘手,进行了如下尝试均失败。  
    5.    
    6. 尝试一:在A机器上的页面中嵌入一个iframe,iframe的src指向B机器的一个上传页面,这样可以很容易将资源上传到B机器,但是却很难实现“以json格式返回上传信息”{/*当然这里可以想将返回的数据写到B机器的上传页面,然后在提交A页面的表单时,利用js从B机器上获取返回数据,但是这样太过繁琐,且耦合度极大,基本可以放弃*/}。  
    7.    
    8. 尝试二:利用SWF上传插件,借助AS脚本上传,比较著名的插件如:JQuery Uploadify支持此功能,这种方法利用了Flash沙箱原理,理论上可以完成跨域上传,但是前提是需要对服务器有绝对的控制权,因为这种方法需要域名的根目录下存在一个跨域访问的策略文件crossdomain.xml,客观条件限制,次尝试亦失败。  
    9.    
    10. 以上两次尝试都已失败告终,无奈只好在CSDN上求助,CSDN果然强悍,感谢moocky网友提供思路:  
    11.    
    12.   
    13. 上传文件到A网站,然后通过PHP的ftp函数、或HTTP模拟上传到B,这样的话返回的json一直是在A网站上的;另外也可以参考一下腾讯的,如果两个网站都是你的,比如你a网站的域名为www.a.com,在B网站同时绑定一个域名upload.www.a.com,就可以直接上传到B网站并返回json数据了  
  • 相关阅读:
    浅析BIO、NIO、AIO
    equals()和hashCode()区别
    mysql分区
    java反射
    设计模式
    两个线程一个生产者个一个消费者
    Redis事务
    常用面试题
    springboot整合redis(注解形式)
    ElasticSearch6更新与重大变化
  • 原文地址:https://www.cnblogs.com/zhuzhu861618/p/4498084.html
Copyright © 2011-2022 走看看