plupload简易应用 多图片上传显示预览以及删除
<script>
var uploader = new plupload.Uploader({ //实例化一个plupload上传对象
browse_button: 'btnBrowse',
url: 'upload.ashx',
flash_swf_url: 'Resource/scripts/js/Moxie.swf',
silverlight_xap_url: 'Resource/scripts/js/Moxie.xap',
filters: {
mime_types: [ //只允许上传图片文件
{ title: "图片文件", extensions: "jpg,gif,png" }
]
}
});
uploader.init(); //初始化
//绑定文件添加进队列事件
uploader.bind('FilesAdded', function (uploader, files) {
// alert(files[0].size);
var msgFlg = 0;
for (var i = 0, len = files.length; i < len; i++) {
if (files[i].size > 81920) {
uploader.files.splice(i, 1);
msgFlg = 1;
}
else {
!function (i) {
previewImage(files[i], function (imgsrc) {
$('#file-list').html($('#file-list').html() +
'<div style="float:left" class="pic_list" id="' + files[i].id + '">'
+ ' (' + plupload.formatSize(files[i].size) +
')<a href="###" class="pic_delete" data-val=' + files[i].id +
'>删除</a><br/>' +
'<img class="listview" width="90" height="60" src="' + imgsrc + '" name="' + files[i].name + '" /></div>');
})
}(i);
}
}
if (msgFlg == 1) {
alert("上传图片小于80K");
}
});
$(document).on('click', '.pic_list a.pic_delete', function () {
$(this).parent().remove();
var toremove = '';
var id = $(this).attr("data-val");
for (var i in uploader.files) {
if (uploader.files[i].id === id) {
toremove = i;
}
}
uploader.files.splice(toremove, 1);
});
//所有都上传完成
uploader.bind("UploadComplete", function (uploader, file) {
alert("成功");
$('#file-list').html("");
exit();
});
function exit() {
window.parent.location.href = window.parent.location.href;
}
//plupload中为我们提供了mOxie对象
//有关mOxie的介绍和说明请看:https://github.com/moxiecode/moxie/wiki/API
//如果你不想了解那么多的话,那就照抄本示例的代码来得到预览的图片吧
function previewImage(file, callback) {//file为plupload事件监听函数参数中的file对象,callback为预览图片准备完成的回调函数
if (!file || !/image\//.test(file.type)) return; //确保文件是图片
if (file.type == 'image/gif') {//gif使用FileReader进行预览,因为mOxie.Image只支持jpg和png
var fr = new mOxie.FileReader();
fr.onload = function () {
callback(fr.result);
fr.destroy();
fr = null;
}
fr.readAsDataURL(file.getSource());
} else {
var preloader = new mOxie.Image();
preloader.onload = function () {
//preloader.downsize(550, 400);//先压缩一下要预览的图片,宽300,高300
var imgsrc = preloader.type == 'image/jpeg' ? preloader.getAsDataURL('image/jpeg', 80) : preloader.getAsDataURL(); //得到图片src,实质为一个base64编码的数据
callback && callback(imgsrc); //callback传入的参数为预览图片的url
preloader.destroy();
preloader = null;
};
preloader.load(file.getSource());
}
}
$("#update").bind('click', function () {
if (uploader.files.length < 1) {
alert('请选择图片!');
return false;
}
uploader.start();
})
</script>
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
UploadFile(context);
}
/// <summary>
/// 上传图片
/// </summary>
/// <param name="context"></param>
private void UploadFile(HttpContext context)
{
try
{
// 共通DB时间BLL
BLL.GetTimeCommonBusiness comBll = new BLL.GetTimeCommonBusiness();
context.Response.CacheControl = "no-cache";
string s_rpath = "E:\\NewB2B\\04_源代码\\B2B.root\\B2B\\WEB\\upload\\resource";
// 保存图片名做成
).Replace("-", "").Replace(":", "").Replace(" ", "").Replace("/", "").Replace(".", "");
,
context.Request[);
// 图片上传
)
{
HttpPostedFile uploadFile = context.Request.Files[];
)
{
if (!Directory.Exists(s_rpath))
{
Directory.CreateDirectory(s_rpath);
}
}
uploadFile.SaveAs(string.Format("{0}\\{1}", s_rpath, name));
}
// 图片地址添加
if (context.Session["SL0005EDIT$Photopath"] == null)
{
ArrayList list = new ArrayList();
list.Add( name);
context.Session["SL0005EDIT$Photopath"] = list;
}
else
{
ArrayList list = (ArrayList)context.Session["SL0005EDIT$Photopath"];
list.Add( name);
context.Session["SL0005EDIT$Photopath"] = list;
}
}
catch (Exception)
{
throw;
}
}
public bool IsReusable
{
get
{
return false;
}
}
plupload简易应用 多图片上传显示预览以及删除的更多相关文章
- 微信小程序实现图片上传,预览,删除
wxml: <view class='imgBox'> <image class='imgList' wx:for="{{imgs}}" wx:for-item= ...
- html之file标签 --- 图片上传前预览 -- FileReader
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- ASP.NET MVC图片上传前预览
回老家过春节,大半个月,在家的日子里,吃好睡好,人也长了3.5Kg.没有电脑,没有网络,无需写代码,工作上相关的完全放下......开心与父母妻儿过个年,那样的生活令Insus.NET现在还在留恋.. ...
- 图片上传本地预览。兼容IE7+
基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari 预览地址:http://www.jinbanmen.com/test/1.html js代码:/**名称 ...
- DevExpress控件使用系列--ASPxUploadControl(图片上传及预览)
1.控件功能 列表控件展示数据.弹框控件执行编辑操作.Tab控件实现多标签编辑操官方说明 2.官方示例 2.1 ASPxImage http: ...
- file标签 - 图片上传前预览 - FileReader & 网络图片转base64和文件流
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
- JQuery插件:图片上传本地预览插件,改进案例一则。
/* *名称:图片上传本地预览插件 v1.1 *作者:周祥 *时间:2013年11月26日 *介绍:基于JQUERY扩展,图片上传预览插件 目前兼容浏览器(IE 谷歌 火狐) 不支持safari *插 ...
- JS兼容各个浏览器的本地图片上传即时预览效果
JS兼容各个浏览器的本地图片上传即时预览效果 很早以前 在工作曾经碰到这么一个需求,当时也是纠结了很久,也是google了很久,没有碰到合适的demo,今天特意研究了下这方面的的问题,所以也就做了个简 ...
- 【转】html之file标签 --- 图片上传前预览 -- FileReader
记得以前做网站时,曾经需要实现一个图片上传到服务器前,先预览的功能.当时用html的<input type="file"/>标签一直实现不了,最后舍弃了这个标签,使用了 ...
随机推荐
- [zz] demand ,require ,request用法辨析
http://zhidao.baidu.com/link?url=9Q50HiOF1fWav1nSnREbc_H1jTuAHxAjeVLbZoB5bGO3ZehPxLhQdob4oGO3slMRl0W ...
- 认识angualrJS的resource服务
这段时间公司有个项目要用到angularJS,于是就在网上开始各种找学习资料. 一开始下了一本<angularJS权威教程>,看了10章,实在看不下去了,只能说这本书对于才接触javasc ...
- 利用docker搭建rtmp服务器(1)
以后的项目里面可能需要用到直播,所以就先看看 本来想在自己MAC上搭建nginx的,后来怕把自己的机子搞乱,刚好就学习了下docker,感觉docker强大就在于是一个操作系统软件的版本管理系统,可以 ...
- [系统开发] Django Admin上传图片简单校验
我的 models里有个ImageField字段,用来保存用户头像,希望通过Django Admin上传时校验头像大小,如果太大就报错,并且不保存. 网上有不少方法,有的通过第三方软件实现,有的通过自 ...
- 一个可以设置所有子控件是否可以点击的Layout的实现
http://www.cnblogs.com/csonezp/p/4956315.html 最近在做一个功能,想在某个状态设置整个界面不可点击,后台任务执行完毕后再可以点击. 最直观的想法是直接让所有 ...
- Navicat(连接) -1之HTTP 设置
HTTP 设置 HTTP 通道是一种连接到服务器的方法,使用与网络服务器相同的通讯协定(http://)和相同的端口(端口 80).这是当你的互联网服务供应商不允许直接连接,但允许创建 HTTP 连接 ...
- FCKeditor 2.6.4.1 初始化值不能显示中文问题
最近在学习PHP加入FCKeditor 在线编辑器,发现在初始化Value赋值时,英文可以显示出来,中文怎么都显示不出来,连乱码都不显示. 经过漫长的探索,终于找到原因了! 在fckeditor目录下 ...
- ORM框架
半自动:iBATIS是一个半自动化的ORM框架,需要通过配置方式指定映射SQL语句 全自:由框架本身生成(如Hibernate自动生成对应SQL来持久化对象),即Hibernate属于全自动ORM框架 ...
- silverlight列表控件ComboBox 托管代码绑订数据集合
.xaml <ComboBox x:Name="myCombobox" Width="300" Height="30"> < ...
- CentOS6.4 安装 erlang
wget http://www.erlang.org/download/otp_src_17.0.tar.gz -P /usr/local/src/ wget http://www.erlang.or ...