文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0
实际上在SNF里使用附件管理是非常简单的事情,一句代码就可以搞定。但我也要在这里记录一下统一附件管理器能满足的需求。
- 通用的附件管理,不要重复开发,调用尽量简洁。
- 批量文件上传,并对每个文件大小限制,客户端无刷新
- 可以对已经上传的附件进行名字变更,改成更友好的名称。
- 可以对已经上传的文件进行删除。
- 并记录文件大小,上传人、时间和修改人和时间等。
- 可以下载附件到本地电脑。
- 文件的在线预览,支持不安装office软件就可以预览(不管是图片还是office文档都得支持预览)
虽然比专业的图文档管理系统功能差一些,但对于大多数企业是足够的,而且使用简单方便。
下面就看一下效果和如何实现的吧:

第一步是在页面上增加一个按钮:


配置按钮事件:
//附件管理器
this.attachmentsClick = function () {
var row = self.grid.datagrid('getSelected');
if (!row) return snf.message('warning', '请先选择一个角色!'); snf.Attachments(row.Realname, row._id, "SYS", "SYS-ROLE");
}
按钮事件调用的统一方法:
/**
* 增加统一附件管理
*
* @author 王金斗 2015-1-31
*
*/
snf.Attachments = function (title, BusinessID, BusinessModule, AttachmentType) {
snf.dialog({
title: "(" + title + "-角色)附件管理",
width: ,
height: ,
iconCls: 'icon-attach',
maximizable: true,
html: '<iframe id="_view_attachmentsClick_" scrolling="auto" style="width:100%;height:100%;"></iframe>',
viewModel: function (w) { w.find("iframe").attr("src", "/Attachments/Index/" + BusinessID + "/" + BusinessModule + "/" + AttachmentType); }
});
};
运行的效果:

附件无刷新批量上传

名称修改和删除附件

下载附件

附件预览:
集成在线和本地生成文件两预览方式,是为了有互联网的用户更好的体验和不连网用户也可以查看。并且本地和服务器端不需要安装office。
- 利用微软的平台进行office文档的在线查看,效果能好但必须连互联网.

2. 把office文件生成html文件后进行查看
图片预览效果:

Excel预览效果:

DOC预览效果:

PPT预览效果:

PDF预览效果:

后台对应:

修改或删除处理的主要代码
//修改或删除处理
switch (types[item.Name])
{
case OptType.Mod:
List<KeyValuePair<string, object>> parameters = new List<KeyValuePair<string, object>>();
parameters.Add(new KeyValuePair<string, object>(BaseAttachmentsEntity.FieldOriginalName, entity.OriginalName));
parameters.Add(new KeyValuePair<string, object>(BaseAttachmentsEntity.FieldModifiedUserId, UserInfo.Id));//最后修改者主键
parameters.Add(new KeyValuePair<string, object>(BaseAttachmentsEntity.FieldModifiedBy, UserInfo.Realname));//最后修改者
parameters.Add(new KeyValuePair<string, object>(BaseAttachmentsEntity.FieldModifiedOn, DateTime.Now));//最后修改时间 result += SNFService.Instance.BaseAttachmentsService.SetAttachment(this.UserInfo, entity.Id, parameters);
break;
case OptType.Del:
result += SNFService.Instance.BaseAttachmentsService.Delete(this.UserInfo, entity.Id);
//删除文件
FileUtil.DeleteFile(FileUtil.GetMapPath("/Content/js/Attachments/" + entity.ServerPath + entity.ServerName));
break;
case OptType.None:
break;
default:
break;
}
作者: 王春天 2015-2-1
出处: http://www.cnblogs.com/spring_wang/
本系列文章列表如下:
基于SNF-快速开发平台框架的系列文章:
SNF快速开发平台3.2之--.Net可扩展的单据编号生成器-SNF.CodeRule
SNF快速开发平台3.1之--审核流(3)低调奢华,简单不凡,实例演示-SNF.WorkFlow
SNF快速开发平台3.1之--审核流(2)流程设计-SNF.WorkFlow功能使用说明
SNF快速开发平台3.1之--审核流(1)SNF.WorkFlow审核流简介
SNF快速开发平台3.1之--完美的代码生成器SNF.CodeGenerator-快速开发者的利器
基于MVC4+EasyUI的Web开发框架--Spring.Net.FrameworkV3.0总体介绍
SNF快速开发平台3.1之--文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)
SNF快速开发平台3.1之--asp.net mvc4 强大的导出和不需要上传文件的批量导入EXCEL
SNF快速开发平台3.0之MVC通用控件库展示-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
SNF快速开发平台3.0之BS页面展示和九大优点-部分页面显示效果-Asp.net+MVC4.0+WebAPI+EasyUI +Knockout
SNF快速开发平台3.0之-界面个性化配置+10种皮肤+7种菜单-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout
SNF快速开发平台3.0之-CS页面-Asp.net+Spring.Net.Framework
SNF快速开发平台3.0之--系统里广播的作用--迅速及时、简明扼要的把信息发送给接收者
文件批量上传-统一附件管理器-在线预览文件(有互联网和没有两种)--SNF快速开发平台3.0的更多相关文章
- SNF开发平台WinForm之十三-单独从服务器上获取PDF文件进行显示-SNF快速开发平台3.3-Spring.Net.Framework
1运行效果: 2开发实现: 如果需要单独显示PDF文件时用下面代码去实现,指定url地址. 地址: . 获取附件管理的实体对象: List<KeyValuePair<string, obj ...
- SNF开发平台WinForm之六-上传下载组件使用-SNF快速开发平台3.3-Spring.Net.Framework
6.1运行效果: 6.2开发实现: 1.先在要使用的项目进行引用,SNF.WinForm.Attachments.dll文件. 2.在工具箱内新建选项卡->选择项,浏览找到文件SNF.WinFo ...
- Winform开发框架之通用附件管理模块 --SNF快速开发平台3.3-Spring.Net.Framework
最近项目太多都没有时间写文章了,实际项目需求一,CS端和windows平板都需要附件上传管理功能.以前做的都是BS的附件管理和上传功能.本来计划在Winform上嵌套一个浏览器直接用bs的附件上传功能 ...
- SNF开发平台WinForm之四-开发-主细表管理页面-SNF快速开发平台3.3-Spring.Net.Framework
4.1运行效果: 4.2开发实现: 4.2.1 有了第一个程序的开发,代码生成器的配置应该是没有问题了,我们只要在对应的数据库中创建我们需要的表结构就可以了,如下: 主表结构如下: ...
- SNF开发平台WinForm之二-开发-单表表单管理页面-SNF快速开发平台3.3-Spring.Net.Framework
2.1运行效果: 2.2开发实现: 2.2.1 这个开发与第一个开发操作步骤是一致的,不同之处就是在生成完代码之后,留下如下圈红程序,其它删除. 第一个开发地址:开发-单表表格编辑管理页面 http: ...
- SNF开发平台WinForm之一-开发-单表表格编辑管理页面-SNF快速开发平台3.3-Spring.Net.Framework
1.1运行效果: 1.2开发实现: 1.2.1 首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2 ...
- SNF快速开发平台MVC-名片管理(实际名片样式)
名片管理实际的做的意义在于演示应用,在这里使用的技术有排序控件,查询条件.自由样式瀑布流式分页等技术. 下面是自由样式效果图: 下面表格样式效果图: 具体操作: 新增名片 在新增时可以上传图像进行裁剪 ...
- 带进度条的文件批量上传插件uploadify
有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...
- 文件批量上传的工具,要实现暂停继续、断点续传等功能(使用QtNetwork和QHttpMultiPart,和定时器检查超时)
最近在做一个文件批量上传的工具,要实现暂停继续.断点续传等功能.利用Qt自带的QtNetwork模块,完成这些需求并没有费多少周章,主要思路就是将文件分块,然后用while循环依次传输.具体实现代码比 ...
随机推荐
- Codeforces 269C Flawed Flow (看题解)
我好菜啊啊啊.. 循环以下操作 1.从队列中取出一个顶点, 把哪些没有用过的边全部用当前方向. 2.看有没有点的入度和 == 出度和, 如果有将当前的点加入队列. 现在有一个问题就是, 有没有可能队列 ...
- 【Java】 剑指offer(20) 表示数值的字符串
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如, ...
- VMware 获取该虚拟机的所有权失败
1. 虚拟机打开失败 VMware Workstation报错(打开虚拟机时出错:获取该虚拟机的所有权失败.主机上的某个应用程序正在使用该虚拟机.配置文件:D:\Ubuntu 16.04\Ubuntu ...
- conda 与 pip 加速
conda和pip默认使用国外站点来下载软件,我们可以配置国内镜像来加速下载(国外用户无须此操作). 配置清华conda镜像 conda config --add channels https://m ...
- 算法进阶面试题01——KMP算法详解、输出含两次原子串的最短串、判断T1是否包含T2子树、Manacher算法详解、使字符串成为最短回文串
1.KMP算法详解与应用 子序列:可以连续可以不连续. 子数组/串:要连续 暴力方法:逐个位置比对. KMP:让前面的,指导后面. 概念建设: d的最长前缀与最长后缀的匹配长度为3.(前缀不能到最后一 ...
- 【漏洞复现】ES File Explorer Open Port Vulnerability - CVE-2019-6447
漏洞描述 在受影响的ES文件浏览器上,会启用59777/tcp端口作为HTTP服务器,攻击者只需要构造恶意的json请求就可以对受害者进行文件下载,应用打开.更可以用过漏洞进行中间人(MITM)攻击. ...
- [洛谷U40581]树上统计treecnt
[洛谷U40581]树上统计treecnt 题目大意: 给定一棵\(n(n\le10^5)\)个点的树. 定义\(Tree[l,r]\)表示为了使得\(l\sim r\)号点两两连通,最少需要选择的边 ...
- 喵哈哈村的魔法考试 Round 16 (Div.2) 比赛题解
A 实际上我们for一遍就好. 坑点就是会爆int #include<bits/stdc++.h> using namespace std; const int maxn = 1e5+7; ...
- linux sar详解
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...
- Linux.Centos.yum命令的“No module named yum”错误
Centos版本: uname -a Linux ygpiao -.el6.x86_64 # SMP Tue Jun :: UTC x86_64 x86_64 x86_64 GNU/Linux 在一次 ...