bootstrap图片上传控件 fileinput
前端
1.要引用的js
<link type="text/css" rel="stylesheet" href="~/HContent/css/fileinput.css" /> //-----------样式
<script src="~/HContent/js/fileinput.js"></script> //基本的js
<script src="~/HContent/js/locales/zh.js"></script> //中文js
2.html代码
<div class="col-sm-10">
<div class="file-loading">
<input id="uploadFile" type="file" multiple class="file" data-overwrite-initial="false" data-min-file-count="2">
</div>
</div>
3.js代码
$('#uploadFile').fileinput({
language: 'zh', //使用中文
theme: 'fa',
showUpload: false, //upload按钮不显示
uploadUrl: '@Url.Action("ImageRecive", "BeadHouse")', //服务器url调用路径
allowedFileExtensions: ['jpg', 'png', 'gif'], //允许的文件格式
overwriteInitial: false,
maxFileSize: 1000, //文件最大尺寸
maxFilesNum: 3, //文件最大数量
slugCallback: function (filename) {
return filename.replace('(', '_').replace(']', '_');
},
});
js的消息响应处理
$("#uploadFile").on("fileuploaded", function (event, data, previewId, index) {
var d = data.response;//接收后台返回的数据
if (d.Code == 1) {
var bToObj = JSON.parse(d.Record);
if (bToObj[0] != null) {
var test = window.location.origin + window.location.pathname;
var imgid = bToObj[0];
}
}
else {
$.alert(d.Message);
}
});
4.C#后台处理
//图片接收后保存
public ActionResult ImageRecive()
{
string[] extName = { ".jpg", ".gif", ".jpeg", ".png", ".pdf" };
var _directory = HttpContext.Server.MapPath("~/BHImage");
List<string> filenames = new List<string>();
HttpFileCollection upload = System.Web.HttpContext.Current.Request.Files;
for (int i = ; i < upload.Count; i++)
{
if (upload.Count > )
{
return AjaxFail("限制上传文件数量");
}
HttpPostedFileBase file = Request.Files[i];
string ext = Path.GetExtension(file.FileName).ToLower();
if (!extName.Contains(ext))
{
return AjaxFail("请上传jpg、gif、jpeg、png、pdf格式文件");
}; if (file.InputStream.Length > )
{
return AjaxFail("上传的文件不要超过1M");
}
var namefix = System.Guid.NewGuid().ToString() + "_" + System.DateTime.Now.ToString("HHmmss") + Path.GetExtension(file.FileName);
string file_name = "/" + namefix;
filenames.Add(namefix);
file.SaveAs(_directory + file_name);
}
return AjaxSuccess(filenames.Count.ToString(), filenames);
}
5.C#几个基础函数
/// <summary>
/// ajax访问,操作成功时返回json
/// </summary>
/// <param name="message">消息</param>
/// <param name="data">数据</param>
/// <returns></returns>
protected JsonResult AjaxSuccess(string message, object data)
{
if (data is Object)
{
return Cgl_Json(, message, data, true);
}
else
{
return Cgl_Json(, message, data, false);
}
}
/// <summary>
/// ajax访问时,返回json
/// </summary>
/// <param name="code">代码 -1 :未登录,1:成功,0:失败</param>
/// <param name="message">消息</param>
/// <param name="data">数据</param>
/// <param name="isSerialize">是否序列化</param>
/// <returns></returns>
protected JsonResult Cgl_Json(int code, string message, object data, bool isSerialize)
{
var jj = new AjaxResult() { Code = code, Message = message, Record = data }; if (isSerialize)
{
jj.Record = JsonConvert.SerializeObject(jj.Record, Formatting.Indented, new IsoDateTimeConverter() { DateTimeFormat = "yyyy-MM-dd" });
} return new JsonResult() { JsonRequestBehavior = JsonRequestBehavior.AllowGet, Data = jj };
}
bootstrap图片上传控件 fileinput的更多相关文章
- 百度Ueditor多图片上传控件
发现百度的Ueditor富文本编辑器中的多图片上传控件很不错,于是便想着分享出来使用,费了老劲,少不了无名朋友的帮助,也查了不少资料,终于搞定了 发代码给大家,请大家多多指正 1.首先要在html页面 ...
- java+Word图片上传控件
这种方法是servlet,编写好在web.xml里配置servlet-class和servlet-mapping即可使用 后台(服务端)java服务代码:(上传至ROOT/lqxcPics文件夹下) ...
- uedit富文本编辑器及图片上传控件
微力后台 uedit富文本编辑器及文件上传控件的使用,无时间整理,暂略,参考本地代码.能跑起来.
- Word图片上传控件(WordPaster)更新-2.0.15版本
更新说明: 1. 增加对webp图片的支持,支持微信公众号图片的下载. 效果参考:http://www.ncmem.com/doc/view.aspx?id=9761f8ce4fe04d0ab0f ...
- WebUploader 图片上传控件使用范例
官网 http://fex.baidu.com/webuploader/getting-started.html 其实官网写的挺详细的,看官网也可以了. 引入资源 使用Web Uploader文件上 ...
- DropZone图片上传控件的使用
前台代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w ...
- 基于jQuery仿uploadify的HTML5图片上传控件jquery.html5uploader
(function($){ var methods = { init:function(options){ return this.each(function(){ var $this = $(thi ...
- Word图片上传控件卸载教程-Xproer.WordPaster
卸载教程: 卸载控件-IE Windows XP Windows 7(x86) Windows 7(x64) 卸载控件-C ...
- Word图片上传控件-eWebEditor9x整合教程-Xproer.WordPaster
示例下载(JSP):eWebEditor9x, 示例下载(.NET):eWebEditor9x, 1.1. 集成到eWebEditor9x 主要步骤如下: 1.增加WordPaster文件夹 ...
随机推荐
- day7 基础数据类型&集合&深浅拷贝
基础数据类型汇总: #!/usr/bin/env python # -*- coding:utf-8 -*- ''' str int ''' # str s = ' a' print(s.isspac ...
- SVN使用经验
转载于:Svn发布项目 个人使用体验: 关于svn的相关命令 从服务器检出创建的项目文件夹,向项目中添加文件,右键tortoiseSvn->add 然后右键SVN Commit,选择文件并输入提 ...
- 高并发系统:消息队列MQ
注:前提是知道什么是消息队列.不懂的去搜索各种消息队列入门(activeMQ.rabbitMQ.rocketMQ.kafka) 1.为什么要使用MQ?(MQ的好处:解耦.异步.削峰) (1)解耦:主要 ...
- 利用Python读取CSV文件并计算某一列的均值和方差
近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...
- Vue自定义全局Toast和Loading
如果我们的Vue项目中没有用到任何UI框架的话,为了更好的用户体验,肯定会用到loading和toast.那么我们就自定义这两个组件吧. 1.Toast组件 首先,在common下新建global文件 ...
- shell awk学习3
需求: 某文件aa的内容如下: a/p1/p2b/pp1c/ppp1/ppp3d/p1/p2/p3e/p1/p2/p3/p4 期望输出结果: a /p1 /p2 b /pp1 c /ppp1 /ppp ...
- Spark学习之路 (二十八)分布式图计算系统[转]
引言 在了解GraphX之前,需要先了解关于通用的分布式图计算框架的两个常见问题:图存储模式和图计算模式. 图存储模式 巨型图的存储总体上有边分割和点分割两种存储方式.2013年,GraphLab2. ...
- send and recieve message with myself (python socket )
# socket server import socket sk = socket.socket() sk.bind(("127.0.0.1",8082)) sk.listen() ...
- 关于全球唯一标识GUID的生成
1.c#生成GUID的几种方式 (1)生成标准的标志符 (36位标准) var strguid = Guid.NewGuid().ToString(); 结果:B2A5AB40-EE29-4791-9 ...
- 19、vue部署路由模式
vue-router 默认 hash 模式 -- 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. hash模式带#号 不用配置服务器 如果不想要很丑的 ...