ajaxfileupload-上传文件示例
1.引用文件 ajaxfileupload.js
@{
ViewBag.Title = "数据导入";
Layout = "~/Views/Shared/_IndexLayout.cshtml";
}
<!--单个文件-->
<script src="~/Content/scripts/uploadify/ajaxfileupload.js"></script> <script>
var loadingstatus = ""; var tmpkey = request('tmpkey'); //这里特别约定为了简约处理模板的key对应的解析方法名称和模板key一致
var keyvalue = request('keyvalue');
$(function () {
var url = '../../Master/ImportTemplate/DownloadTmp?tmpKey=' + tmpkey;
$('#lr-import').attr('href', url);
$('#uploadFile').bind("change", function (e) {
//btn_importdata();
}); // beginCount();
}); var timeID; function btn_importdata() {
$('#msg').html("");
var path = $("#uploadFile").val();
if (!path) {
dialogMsg("请选择要上传的文件!", 0);
return;
}
loadingstatus = "loading";
$('#msg').append("<br>执行中,这可能需要一些时间,请耐心等待....</br>");
$('#msg').append("<br>如果检测到有错误的请您按照提示排查处理后重新导入....</br>");
$.ajaxFileUpload({
url: "../../CVRM/ImportExcel/ImportData?key=" + keyvalue + "&funName=" + tmpkey,
secureuri: false,
fileElementId: 'uploadFile',
dataType: 'json',
success: function (data) {
if (data.status) {
var result = data.msg;
$('#msg').append(result);
}
else { dialogMsg(data.message, 0);
}
} });
} function btn_close() {
dialogClose();
} function beginCount() {
timeID = setInterval("getMsg()", 2000);
}
function stopCount() {
clearInterval(timeID);
}
function getMsg() {
if (loadingstatus == "loading") {
$.ajax({
url: "../../CVRM/ImportExcel/GetImportMsg",
dataType: "json",
async: true,
type: 'GET',
success: function (data) {
console.log(data);
if (data.errorcode==0) {
$('#msg').append(data.message);
if (data.message=="stop") {
stopCount();
}
} else {
stopCount();
} }
})
} } </script>
<form id="form1" style="margin-left: 1px; margin-right: 1px;">
<div class="formHead">
<div class="mcp_container">
<div class="col-xs-8 mcp-form-item" style="padding-left:5px;">
<input id="uploadFile" name="uploadFile" type="file" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel" />
</div>
<div class="col-xs-4 mcp-form-item">
<div class="btn-group">
<a id="lr-choose" class="btn btn-default" onclick="btn_importdata()"><i class="fa fa-sign-in"></i> 开始导入</a>
<a id="lr-import" class="btn btn-default" > <i class="fa fa-download"></i> 下载模板</a>
</div>
</div>
<div id="msg"> </div> </div> </div> </form>
3.后台接收
public ActionResult ImportData(string key,string funName="")
{
try
{
HttpFileCollection files = System.Web.HttpContext.Current.Request.Files; if (files != null && files.Count > 0 && files[0].ContentLength > 0 && !string.IsNullOrEmpty(files[0].FileName))
{
string path = AppDomain.CurrentDomain.BaseDirectory + @"Upload\temp\";
DirectoryInfo dir = new DirectoryInfo(path);
if (!dir.Exists)
{
dir.Create();
}
string filename = Path.GetFileName(files[0].FileName);
if (!string.IsNullOrEmpty(filename))
{ var keyValue = Guid.NewGuid().ToString();
string FileEextension = Path.GetExtension(files[0].FileName);
filename = keyValue + FileEextension;
string Fullfilename = Path.Combine(path, filename);
files[0].SaveAs(Fullfilename); //保存服务器 //写入数据库
ImportExcelBiz importBiz = new ImportExcelBiz();
ImportExcelResultEntity result = importBiz.ImportData(key, funName, Fullfilename); //用完即删
if (System.IO.File.Exists(Fullfilename))
{
//如果存在则删除
System.IO.File.Delete(Fullfilename);
} return new ReponseModel { status = true, msg = result.Msg };
}
else
{
return Error("没有发现您上传的文件名,可能是浏览器兼容问题,请您换个浏览器试试! 详情: files[0].FileName filename为null");
} }
else
{
return HttpNotFound("没有发现您要上传的文件!");
} }
catch (Exception ex)
{
return Error("导入excel到报价中出现了异常 详情:"+ex.Message);
} } }
ajaxfileupload-上传文件示例的更多相关文章
- ajaxFileUpload上传文件后提示下载的问题
在某些版本浏览器下ajaxFileUpload上传文件会提示下载, 1:为什么? 可以观察到,即便返回 JsonResult 在返回的头中也没有任何消息体,直接理解为文本了. 2:解决方案 前端: f ...
- 在使用 AjaxFileUpload 上传文件时,在项目发布到 iis 后,图片不能预览
在使用 AjaxFileUpload 上传文件时,图片已经上传成功了,在站点没有发布时,可以预览,可是在项目发布到 iis 后,图片就不能预览,在网上找了很多的方案也没解决,最后的解决方案如下: 1 ...
- C#使用HttpWebRequest和HttpWebResponse上传文件示例
C#使用HttpWebRequest和HttpWebResponse上传文件示例 1.HttpHelper类: 复制内容到剪贴板程序代码 using System;using System.Colle ...
- ajaxFileUpload上传文件简单示例
写在前面: 上传文件的方式有很多,最近在做项目的时候,一开始也试用了利用jquery的插件ajaxFileUpload来上传大文件,下面,用一个上传文件的简单例子,记录下,学习的过程~~~ 还是老样子 ...
- ajaxFileUpload上传文件没反应
调用jquery的ajaxFileUpload异步上传文件,IE浏览器不进入success问题 原因:json转换异常,ie浏览器处理后的返回json没有<pre>标签,直接是完整的jso ...
- springmvc+ajaxFileUpload上传文件(前后台彻底分离的情况下)
首先是导入jar包: web.xml: <servlet> <servlet-name>mvc-dispatcher</servlet-name> <serv ...
- Jquery+ajaxfileupload上传文件
1.说明 ajaxfileupload.js是一款jQuery插件,用于通过ajax上传文件. 下载地址:http://files.cnblogs.com/files/lengzhan/ajaxfil ...
- PHP上传文件示例
虽然大多数人认为Web只包含网页,但HTTP协议实际上可以传输任何文件,如office文档.PDF.可执行文件.AVI.压缩文件及各种其他文件类型.虽然FTP在历史上一直是向服务器上传文件的标准方式, ...
- python网络编程--FTP上传文件示例
1.基础版(供学习了解原理使用,low) server服务端 import socket import struct import json server = socket.socket() ip_p ...
- Python--day67--CBV和FBV、Request对象及上传文件示例
1,CBV版添加新的出版社 views.py文件 urls.py文件 2,Request对象: request对象 当一个页面被请求时,Django就会创建一个包含本次请求原信息的HttpReques ...
随机推荐
- React 入门小结
前段时间用 Ant Design 做了一个项目,由于之前没有 React 基础,对于 ES6 也是一知半解,所以也是一边开发一边学习,好不容易把项目完成了,现在终于有时间沉下心来从头开始好好学一下 R ...
- Lucene4.6 把时间信息写入倒排索引的Offset偏移量中,并实现按时间位置查询
有个新的技术需求,需要对Lucene4.x的源码进行扩展,把如下的有时间位置的文本写入倒排索引,为此,我扩展了一个TimeTokenizer分词器,在这个分词器里将时间信息写入 偏移量Offset中. ...
- Python阶段复习 - part 2 - Python序列/持久化
1. 把一个数字的list从小到大排序,然后写入文件,然后从文件中读取出来文件内容,然后反序,在追加到文件的下一行中 >>> import json >>> imp ...
- MySQL 查询语句练习1
1.创建成绩表,字段包括:学生姓名,语文成绩,数学成绩,英语成绩 向表中插入多条数据: 查询: (1) 查询所有学生的数学成绩和总成绩 (2) 查询所有学生的语文和数学成绩和,按从高到低排序 (3) ...
- Jenkins安装配置过程及问题详解
1:去官网下载jenkins.war包. 官网地址:http://Jenkins-ci.org/ 下载win版 官网镜像地址:http://mirrors.jenkins-ci.org/war-sta ...
- [ 总结 ] RHEL6/Centos6 使用OpenLDAP集中管理用户帐号
使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提供数据的一致性.
- [ 总结 ] nginx 负载均衡 及 缓存
操作系统:centos6.4 x64 前端使用nginx做反向代理,后端服务器为:apache + php + mysql 1. nginx负载均衡. nginx编译安装(编译安装前面的文章已经写过) ...
- BMP文件组成
BMP文件组成 BMP文件由文件头.位图信息头.颜色信息和图形数据四部分组成. 如图: 位图文件头BITMAPFILEHEADER 位图信息头BITMAPINFOHEADER 调色板Palette 实 ...
- PhpStorm最新版 2017激活办法
特别注意:为避免phpstorm联网时注册失效,请将“0.0.0.0 account.jetbrains.com”添加到hosts文件中. 最新版PhpStorm 2017正式版改进了PHP 7支持, ...
- linux+win7双系统重装win7修复grub的办法
本人是debian+win7的双系统, 下面介绍下重装win7的整个过程以及遇到的一些小问题,在查阅相关博客和朋友的帮助下成功修复, 记录下以便以后有不时之需, 也希望能帮助到遇到同样问题的朋友! 首 ...