项目框架为angular js,需要用到文件上传,百度之后先选择了angular-file-upload,githuab上API文档很全,想要具体了解,可以仔细研究一下。在这里简单回顾一下自己使用的插件的部分功能和需要注意的事项。

1.引入angular-file-upload.js,放在angular js 之后。

2.将文件注入angular js 的模块中,如 var app =  angular.module (" myapp ", [ ' angularFileUpload ' ]  );

3.下面就是具体使用了,API文档中 介绍的很详细,支持多种上传样式,如单选,多选,单击选择,拖拽选择等。可以具体研究。我只用到了单选同时也是单击选择。

<div    ng-app="myapp">

<div ng-controller="appCtrl">

<input  type="file" nv-file-select  uploader = "uploader">

<ul>

<li  ng-repeat="item in uploader.queue">

<span>{{item.file.name}}</span>

</li>

</ul>

</div>

</div>

其中input file 为上传按钮,它本身的样式比较简单,我这里只需要一个上传按钮,只能用a标签包住input,并将input 设为透明,来实现我想要的按钮样式。

li标签repeat 出来的就是上传后的文件。queue就是上传后的队列。当然我这里每个文件后还提供删除按钮,这样用他的队列就不太好改,我也尝试过。最终决定自己做个repeat 把上传后的文件名显示在页面上,同时提供删除方法。

4.js中有许多属性,方法和回调函数。具体可以研究API.

controller中同样需要注入。例

myapp.contrller("appCtrl",function(FileUploader){

var uploader = $scope.uploader = new FileUploader({

url:""    //上传文件的url

formData:[Array]   //跟随上传文件同时上传的参数。[{}]参数

autoUpload:true   //自动上传

})

})

alias 里面的名称需要与后台代码中的一致,默认为file.

回调函数有成功后,添加后失败后执行的操作,不再一一赘述。

说了半天,重点来了,插件的兼容性如何,本来加上列出的shim.js等等,以为会兼容,但在IE9上始终上传失败,报错。

typeErr.最终没办法只好再换一个插件即ng-file-upload.先说一下这个插件的兼容性。

它是可以兼容到IE9,对于IE9及一下,可以引入shim.js和一段

<!--[if lte IE 9]>

<script>
    FileAPI = {
        jsUrl: 'FileAPI.min.js',
        flashUrl: 'FileAPI.flash.swf',
   
    }
</script>
<script src="ng-file-upload-shim.js" type="text/javascript" charset="utf-8"></script>
<![endif]-->

注意这段需要放在shim.js 前面,同时 包含FileAPI.min.js和FileAPI.flash.swf这两个文件。

具体使用和angular-file-upload,相似,就是所用文件和格式不同。详细可以研究API文档,不再赘述。

angular js 上传插件 ng-file-upload 使用时注意事项的更多相关文章

  1. js上传插件uploadify自动检测不到flash控件的问题

    [问题描述] 项目开发中,由于使用了js的一个上传插件uploadify,下载的是flash版本的,后来在谷歌浏览器上运行时经常报flash控件未安装,虽然下图是uploadify自动检测自动弹出来的 ...

  2. angular-file-upload API angular文件上传插件

    官方例子 : http://nervgh.github.io/pages/angular-file-upload/examples/simple/ ===Directives=== nvFileSel ...

  3. [PHP学习教程 - 文件]002.修改上传文件大小限制(File Upload Limit)

    引言:通常大家直装xampp之后,默认的文件上传大小应该被设定成2M左右,这个时候如果上传超过2M的东西,就会报错,让人非常尴尬.如何修改呢? 导航索引: 概念 FTP常用API FTP封装类 其他 ...

  4. Ajaxupload.js上传插件使用

    注意一下火狐,360IE78下的坑: 返回过来的response在不同浏览器下的字符串不一致 // response(chrome):<pre style="word-wrap: br ...

  5. jQuery文件上传插件jQuery Upload File 有上传进度条

    jQuery文件上传插件jQuery Upload File 有上传进度条 jQuery文件上传插件jQuery Upload File,插件使用简单,支持单文件和多文件上传,支持文件拖拽上传,有进度 ...

  6. JQuery文件上传插件JQuery.upload.js的用法简介

    JQuery文件上传插件,这个插件很小,用法很简单,效果却很棒.注意:JQuery版本要求1.8及以上,大家执行如果没效果,则检查JQuery版本,如果是1.8及以上,则该插件源码中的.size()需 ...

  7. 基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用

    Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使用的时候,也是一步一个脚印一样摸着石头过河,这个控件在界面呈现上,叫我之前使用过的Uploadi ...

  8. Bootstrap文件上传插件File Input的使用

    基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用 Bootstrap文件上传插件File Input是一个不错的文件上传控件, ...

  9. (转)基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用

    http://www.cnblogs.com/wuhuacong/p/4774396.html Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使 ...

随机推荐

  1. linux -- Ubuntu 安装搜狗输入法

    在Ubuntu Kylin系统中,默认安装搜狗拼音输入法,但是在原生Ubuntu系统中则不是.这可以理解,毕竟搜狗输入法的Linux版有Kylin团队的不小功劳.由于搜狗输入法确实比Linux系统下其 ...

  2. CentOS 7 Minimal编译安装MySQL5.6

    写在前面,编译安装MySQL的优势:平台无关.可设定参数按需安装.安装的MySQL目录独立(方便清楚).更好的平台耦合及运行性能(很多运维的观点):缺点:编译安装较慢. 一.撤换系统防火墙 注:Cen ...

  3. CentOS下的一些基础问题解答

    1. 在/etc/passwd中某一行信息为“Linux01:x:505:505:/home/linux12:/bin/bash”,由此可知哪些信息? 用户名为linux01,需要密码登陆,用户ID为 ...

  4. 7 天玩转 ASP.NET MVC — 第 2 天

    0. 前言 我相信在開始第 2 天的学习时,你已经顺利地完毕了第 1 天的课程. 我们回想一下第 1 天的主要关注点: 为什么选择 ASP.NET MVC ? ASP.NET Webforms 和 A ...

  5. 取石子(好学的C++)

    巴什博奕(Bash Game)只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少 ...

  6. 【Python】多线程2

    threading模块 import time import random import threading class Inclass: def __init__(self): print 'Inc ...

  7. ChemDraw中如何输入化学式分隔点

    ChemDraw最实用的化学结构绘图软件,在绘制化学结构时,离不开给化学结构标记原子名称,有时还需要插入分隔点,本教程以下图给出的化学结构为例,讲解ChemDraw中如何输入化学式分隔点.  化学结构 ...

  8. linux,crontab定时任务中为脚本指定使用参数,crontab的脚本中是否可以带参数

    需求描述: 今天在写脚本的时候,脚本的运行需要给出几个参数,那么就考虑 在crontab写定时任务的时候,是否也是能够在脚本中,增加参数呢, 因为以前没有这么用过,所以呢,就进行一次测试. 测试过程: ...

  9. orcale_proceduie_function_两三栗

    --获取部门树 procedure: create or replace procedure P_UTIL_TREE_ALL(P_APPL_NAME in VARCHAR2, P_HIERARCHY_ ...

  10. shell基础篇(三)--引号

    ---今天篇幅比较少:只介绍引号. shell中的引号有三种:双引号",单引号',反引号`1. 双引号:由双引号括起来的字符,除$.倒引号(`)和反斜线(\)仍保留其特殊功能外,其余字符均作 ...