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文件夹 ...
随机推荐
- W25Q64BV(FLASH)(SPI)中文手册
64兆位串行SPI FLASH存储器 1.常规介绍 W25Q64BV(64兆位)串行FLASH存储器为一个空间大小,引脚,功耗限制的系统提供解决方案.25Q系列的灵活性和性能良好超越了普通的串行FLA ...
- 完成:vue-styled-components
基础 https://es6.ruanyifeng.com/#docs/string#模板字符串 注释:模板字符串返回字符串类型 如果${...}中的值不是字符串,将按照一般的规则转为字符串.比如,大 ...
- Android注册时验证码的生产方法
今天主要是学习了注册时 的验证码的使用. 1.创建了验证码的生成类. 2.通过此生成类,与imageview相互联系起来,实现验证码显示.并添加点击事件,实现验证码的切换. 代码是现成的代码块可以套用 ...
- Qt的qDebug()改写为cout
经常用c++,qDebug()用的不习惯,将其改为cout,并且为了方便调试,还添加了文件名及行号. 代码如下: // __FILE__文件名,__LINE__行号,如果想看时间还可以添加__TIME ...
- vue-cli莫名其妙的警告
好久没有写笔记了,看着以前写的笔记有很多不合理的地方也没有去改正,这里抽空记录一个vue-cli莫名其妙的警告,虽然现在我也是一脸懵逼,但是还好把问题处理了. 出现的的问题是: 项目运行时出现警告 T ...
- 设置datagridview隔行变色
/// <summary> /// 设置datagridview隔行变色 /// </summary> /// <param name="e"> ...
- Redis 数据类型及操作
前言 作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系.但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一: Lists (可重复列表) S ...
- 剑指offer-面试题9-用两个栈实现队列-栈和队列
/* 题目: 用两个栈实现一个队列.队列声明如下. */ /* 思路: 将值压入stack1,再从stack1弹出到stack2,则为先进先出. appendTail时直接压入stack1即可,当st ...
- 内网IPC$入侵加pstools之远程控制
前言: IPC$(Internet process connection)是指内网里面的文件共享连接,通常很多机子的默认共享都是打开的,在cmd下使用命令net share可查看自己的IPC$是否打开 ...
- 服务起不来,查看ps axj 看服务是否为守护进程(TPGID 为-1)
在linux命令行中输入: ps axj 查看服务进程的 TPGID 字段的值是否为-1 ,为-1表示为守护进程 不为-1表示不是守护进程,服务启动不起来,或者启动起来后又被杀死了