最近在用Flex做一个相册的功能,因为图片数据很多,所以想调用本地文件的方式做。

但是B/S的缘故,很多安全上的限制给我造成了不小的麻烦,把我这个小菜鸟弄的晕头转向。

第一,刚开始,查了很多资料发现都说web端因为安全限制不能调本地的文件,如果可以随便调的话岂不黑客可以随便用网站偷窥用户隐私文件了?

可是令人困惑的是,竟然有的网文说可以,我调用了代码进行了尝试,发现真的可行!

但那是用的本地调试,即调试时地址栏显示项目在本地的位置(C:\...),将网站发布到IIS上,再调试时,即地址栏显示的是(http://localhost....)报错”只有仅限于文件系统的 SWF 文件和可信的本地 SWF 文件可以访问本地资源。

所以排除了直接加载本地图片的这个念头。

第二,又想到了采用转成二进制流来传给后台读取和存储,实际证明可行,而且网上很多资料都采用了这种方法。

第三,又发现采用将图片发布后调用,这个方法成功,而且很简单。就是不知道有没有弊端。

第四,又查到资料说像qq更改头像功能,可以浏览本地图片并预览。并给出了代码,我在发布的网站上(http://localhost..)一试,可行!

此时我晕了,到底可不可以呢?

这条方法和第一条的区别在于,第一条使用的是Loader读取固定路径下的文件,而此处是用的FileReference读取用户选择的图片。

再一查,发现有人这么说:”加载固定文件的话用Loader和UrlLoader,FileReference为了安全禁止这样做

我现在的理解是:FileReference能够在安全限制下读取本地路径下的文件,而Loader和UrlLoader不允许。

小菜鸟的见解,如有大神看到我的观点,望能够不吝赐教。

PS:文中提到的方法将在另外随笔中贴出

Flex调用本地文件分析的更多相关文章

  1. java命令行调用本地文件协议hikvideoclient://

    最近在做一个视频项目,项目中需要通过调用海康本地协议打开视频播放器,起初尝试通过Process/ProcessBuilder无解,因为这个是调用本地应用程序的. 我要调用的是本地伪协议,最终通过一些研 ...

  2. [Unity菜鸟] Unity发布web后,从HTML调用本地文件

    1. 遇到的问题 从xml读数据,xml的编码用中文就会乱码,改编码格式就调用不了.目前采用默认的ANSI编码. .exe    .txt  .xlsx  .xml  .test Run     √ ...

  3. jsp文件调用本地文件的方法(Tomcat server.xml 设置虚拟目录)

    JSP文件: <video id="my-video" class="video-js" controls preload="auto" ...

  4. Elasticsearch 核心插件Kibana 本地文件包含漏洞分析(CVE-2018-17246)

    不久前Elasticsearch发布了最新安全公告, Elasticsearch Kibana 6.4.3之前版本和5.6.13之前版本中的Console插件存在严重的本地文件包含漏洞可导致拒绝服务攻 ...

  5. Google调用explorer.exe打开本地文件

    给IE浏览器地址栏输个本地文件路径,会自动用explorer.exe打开,这个挺好的,但是IE对jQuery稍微高点的版本不怎么待见,只好自己给Google折腾一个调用explorer的功能----- ...

  6. (转)javabean操作文件正确,但是Jsp调用javabean时文件路径出错问题解决之JavaBean访问本地文件实现路径无关实现方法

        在JSP中,页面链接是使用web路径的,但如果JavaBean要访问本地文件读取配置信息的话,是需要文件的本地路径的.如果你在写 Bean的时候直接将本地路径写进去,那网站的路径就不能变化,丧 ...

  7. .Net 环境下C# 通过托管C++调用本地C++ Dll文件

     综述 : 本文章介绍.Net 环境下C# 通过托管C++调用本地C++ Dll文件, 示例环境为:VS2010, .Net4.0, Win7. 具体事例为测试C++, C#, 及C#调用本地C++D ...

  8. js调用本地office打开服务器的office文件预览

    本来是想做成直接在网页上在线预览office文件的,但是找了好多,要不是收费,要不就是要调用别人的API不安全,所以纠结了好久还是用调用本地的office预览office文件. 废话不多说,那么怎么调 ...

  9. JS调用activeX实现浏览本地文件夹功能 wekit内核只需要<input type="file" id="files" name="files[]" webkitdirectory/>即可,IE内核比较麻烦

    研究了一天,js访问本地文件本身是不可能的,只能借助于插件.植入正题,IE仅支持ActiveX插件. function openDialog() { try { var Message = " ...

随机推荐

  1. 微信小程序初级教程

    小程序代码构成 JSON 配置 WXML 模版 WXSS 样式 JS 逻辑交互 JSON 配置 在小程序中,JSON扮演的静态配置的角色. 小程序配置 app.json { "pages&q ...

  2. Veins(车载通信仿真框架)入门教程

    Veins入门教程——教你如何下手研究 目录 Veins入门教程——教你如何下手研究 目录 废话少说! 讲解omnetpp.ini!(挑关键的) 讲解RSUExampleScnario.ned! 注意 ...

  3. 通过反射来手写简单的ORM SQlserver

    不说废话,直接上干货,如发现问题,欢迎大家指出,谢谢! //------------------------------------MySQlServerORM [简单 CURD] using Sys ...

  4. Mac高效开发之iTerm2、Prezto和Solarized主题

    本文首发于个人网站:Mac高效开发之iTerm2.Prezto和Solarized主题 工欲善其事必先利其器,作为开发,我追求极致的高效,因此会在很多细节上追求效率,例如:命令行窗口敲命令的时候,如果 ...

  5. SpringCloud之Eureka服务注册与发现(一)

    一 Eureka的基本架构 Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现(请对比Zookeeper). Eureka 采用了 C-S 的设计架构 ...

  6. 如何学好javascript

    今天逛论坛时看到有朋友问,是否有专门教Javascript的学校,这里想想把自己的一点建议和自己3年来的前端Javascript开发的经验跟大家分享下,也给出几本个人认为不错的书来做为大家学习的参考资 ...

  7. Mustache 入门教程

    Mustache 简介: Mustache 是一个轻逻辑模板解析引擎,它的优势在于可以应用在 Javascript.PHP.Python.Perl 等多种编程语言中. Mustache 语法: Mus ...

  8. CVE-2019-13272Linuxkernel权限许可和访问控制问题漏洞

    漏洞简介: Linuxkernel是美国Linux基金会发布的开源操作系统Linux所使用的内核. Linuxkernel5.1.17之前版本中存在安全漏洞,该漏洞源于kernel/ptrace.c文 ...

  9. 基于Rancher搭建Kubernetes

    基于Rancher搭建Kubernetes可以大大的简化安装的步骤,直接安装Kubernetes操作复杂并且容易出错. 转自 https://blog.csdn.net/u011142688/arti ...

  10. vue-router动态添加路由报错

    [报错] Uncaught Error: [vue-router] route config "component" for path: /home cannot be a str ...