JS引用:
<script type="text/javascript" src="~/bootstrap/js/fileinput.min.js"></script>
<link href="~/bootstrap/css/fileinput.min.css" rel="stylesheet" />
<script src="~/Scripts/lib/jquery.json.js"></script> HTML: <input id="fileUpload" type="file" > JS:
//自动上传文件-JS
function initFileInput(ctrlName, uploadUrl) {
var control = $('#' + ctrlName); control.fileinput({
language: 'zh', //设置语言
uploadUrl: uploadUrl, //上传的地址 (该方法需返回JSON字符串)
allowedFileExtensions: ['xlsx', 'xls', 'txt'],//接收的文件后缀
showUpload: false, //是否显示上传按钮
showCaption: true,//是否显示标题
browseClass: "btn btn-primary", //按钮样式
//previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
uploadExtraData: { ID: "123" }
}).on('filebatchselected', function (event, data, id, index) {
$(this).fileinput("upload");
}).on("fileuploaded", function (event, data) {
if (data.response) { //通过 data.response.Json对象属性 获得返回数据
errors = data.response.ErrorList;
}
})
} //上传JS初始化
$(function () {
initFileInput("fileUpload", "Controllers/Action");
}); //获取上传文件弹窗关闭动作
$("#fileUpload").change(function () { alert("上传文件弹窗已关闭") }) 参考资料:http://www.oschina.net/code/snippet_269752_55899

C#后台保存处理:

            //上传文件
string root = "~/Upload/Files/StorageOutFile/";
string path = Server.MapPath(root);
string datePath = string.Empty;
datePath += DateTime.Now.Year.ToString();
datePath += DateTime.Now.Month.ToString("D2");
datePath += DateTime.Now.Day.ToString("D2") + "/";
root += datePath;
if (path != null)
{
path += datePath;
if (!Directory.Exists(Path.GetDirectoryName(path)))
{
Directory.CreateDirectory(Path.GetDirectoryName(path));
}
}
string fileName = root + CurUser.StaffName + DateTime.Now.ToString("yyyyMMddhhmmssffff") + Path.GetExtension(Request.Files[].FileName);
string fileUrl = Server.MapPath(fileName);
//保存文件
Request.Files[].SaveAs(fileUrl); //读取EXCEL
DataSet ds = new DataSet();
Workbook workbook = new Workbook(fileUrl);
Worksheet sheet = workbook.Worksheets[];
Cells cells = sheet.Cells;
DataTable tab = new DataTable();
for (int i = ; i <= cells.MaxColumn; i++)
{
tab.Columns.Add(cells[, i].StringValue.Trim(), typeof(System.String));
}
for (int i = ; i <= cells.MaxDataRow; i++)
{
DataRow dr = tab.NewRow();
for (int j = ; j <= cells.MaxDataColumn; j++)
{
string data = cells[i, j].StringValue.Trim();
dr[j] = data;
}
tab.Rows.Add(dr);
}
ds.Tables.Add(tab);
DataTable dt = ds.Tables[];

JS实现文件自动上传的更多相关文章

  1. 在CabloyJS中将Webpack生成的文件自动上传到阿里云OSS

    背景 阿里云OSS提供了一个Webpack插件,可在Webpack打包结束后将webpack生成的文件自动上传到阿里云OSS中 下面看看在CabloyJS中如何使用该插件 新建项目,并配置MySQL连 ...

  2. Node.js写文件的三种方法

    Node.js写文件的三种方式: 1.通过管道流写文件 采用管道传输二进制流,可以实现自动管理流,可写流不必当心可读流流的过快而崩溃,适合大小文件传输(推荐) var readStream = fs. ...

  3. web主题公园版权信息破解:script.js加密文件

    很多人会使用web主题公园网站的免费worldpress主题,但它的主题又都被加了版权信息,故意让人找不到版权信息的修改位置. 你如果去footer.php里面删除版权信息(技术支持:web主题公园) ...

  4. [django]Django的css、image和js静态文件生产环境配置

    前言:在Django中HTML文件如果采用外联的方式引入css,js文件或者image图片,一般采用<link rel="stylesheet" href="../ ...

  5. node.js grunt文件压缩

    对于前段来说,熟悉node的人其实还并不是太多,如果您想入门一门后端语言我建议还是从node入手最好. 我也是最近开始学习node,来谈谈近期对node的学习的心得. 提到node首先就是要安装一大堆 ...

  6. 详解Js中文件读取机制

    前言,文件读取是提高应用体验度的必须接口,应用场景中需求很频繁. Js处理文件读取,由于处于安全方面的考虑,在2000年以前,都是以“<input type="file"&g ...

  7. iOS之在webView中引入本地html,image,js,css文件的方法 - sky//////////////////////////////////////ZZZZZZZZZZZZZZZ

    iOS之在webView中引入本地html,image,js,css文件的方法   2014-12-08 20:00:16CSDN-sky_2016-点击数:10292     项目需求 最近开发的项 ...

  8. 前端使用js读取文件

    最近同时问我js能不能读取本地文件: 想起以前看到js读取本地文件的文章,然后自己写了个demo. ps:这有点想Java的IO流,但是又有差别. 首先我们定义一个input标签type=" ...

  9. asp.net和js读取文件的MD5值的方法

    前言 文件的md5值,即文件签名,为了验证文件的正确性,是否被恶意篡改等.每个文件有一个唯一的md5值. 最近公司开发的app文件包的校验就有用到文件md5值. 一.asp.net获取 ①和上传文件一 ...

随机推荐

  1. Ubuntu 开发环境搭建教程

    Ubuntu 开发环境搭建教程 本文原始地址:https://sitoi.cn/posts/18425.html 更新 sudo apt upgrade sudo apt update 生成本机密钥 ...

  2. 通过vjudge刷Uva的题目(解决Uva网站打开慢的问题)

    最近在跟着算法竞赛入门经典刷题,发现Uva网站打开超级慢,进个主页面都需要好几秒.后来发现可以通过vjudge网站刷Uva的题目,很是方便,在这mark一下,顺便做一下推荐. vjudge网址:htt ...

  3. seq2seq模型详解及对比(CNN,RNN,Transformer)

    一,概述 在自然语言生成的任务中,大部分是基于seq2seq模型实现的(除此之外,还有语言模型,GAN等也能做文本生成),例如生成式对话,机器翻译,文本摘要等等,seq2seq模型是由encoder, ...

  4. 没有该栏目数据, 可能缓存文件(/data/cache/inc_catalog_base.inc)没有更新, 请检查是否有写入权限

    今天朋友在创建新栏目时出现了一个无法生成的错误,提示没有该栏目数据, 可能缓存文件(/data/cache/inc_catalog_base.inc)没有更新, 请检查是否有写入权限,其实这个相对比较 ...

  5. MySQL 官方测试库

    MySQL 官方测试库 github 地址 https://github.com/datacharmer/test_db MySQL 文档地址 https://dev.mysql.com/doc/em ...

  6. 洛谷 P1167 刷题

    洛谷 P1167 刷题 洛谷传送门 题目描述 noip临近了,小A却发现他已经不会写题了.好在现在离竞赛还有一段时间,小A决定从现在开始夜以继日地刷题.也就是说小A废寝忘食,一天二十四小时地刷题. 今 ...

  7. BZOJ 5161: 最长上升子序列 状压dp+查分

    好神啊 ~ 打表程序: #include <cstdio> #include <cstring> #include <algorithm> #define N 14 ...

  8. classmethode,staticmethode、反射

    目录 classmethod: staticmethod: classmethod与staticmethod都是python解释器内置的装饰器 类中定义的函数分为两大类:绑定方法和非绑定方法 在类中正 ...

  9. Flask的响应及request属性整理

    类比django框架,Response三贱客: return  HttpResponse:  return ‘xxxxxxxxxx’                 # 返回字符串 return  r ...

  10. 【CSP-S膜你考】我们的可可西里

    我们的可可西里 题面 转眼到了2008年的6月9日,盼望已久的高考结束了.我们踏上了向西的旅程(本来是想写西去之路,可是考虑不太妥当).可可西里,多么诱人的名词,充满了奇幻的色彩和自然的淳朴.从可可西 ...