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 ...
随机推荐
- JAVASCRIPT和JSP计算闰年
0x01:JAVASCRIPT 实现 <h1 align="left">求闰年</h1> 开始年份: <input type="text&q ...
- xcode 10 新特性
这里主要介绍一下Xcode10 版本主要更新的内容.随着iOS12的发布,Xcode10已经可以从Mac App Store下载.Xcode10包含了iOS12.watchOS 5.macOS10.1 ...
- php多虚拟主机配置
一.配置httpd.conf# Virtual hosts#Include conf/extra/httpd-vhosts.conf //取消这一行的# 二.配置httpd-vhosts. ...
- bzoj 5010: [Fjoi2017]矩阵填数
Description 给定一个 h*w 的矩阵,矩阵的行编号从上到下依次为 1..h,列编号从左到右依次1..w.在这个矩阵中你需要在每 个格子中填入 1..m 中的某个数.给这个矩阵填数的时候有一 ...
- linux察看安装包有那些
rpm -ql zsh |more 安装完之后,产生那些内容 which zsh rpm -qpl /mnt/packages/ rpm -Uvh /mnt/packages/lrzsz-0.2. ...
- linux驱动学习(二) Makefile高级【转】
转自:http://blog.csdn.net/ghostyu/article/details/6866863 版权声明:本文为博主原创文章,未经博主允许不得转载. 在我前一篇写的[ linux驱动学 ...
- 下载Instagram的图片
1.接口地址 https://www.instagram.com/p/shortcode/?__a=1 如何获取shortcode 比如说文章地址是https://www.instagram.com/ ...
- python数据类型-----字符串
今天来总结下python3.4版本字符串的一些操作方法,对这些方法先作一个简单的分类,按照分类来进行总结. Sequence Typessequence类型有六种:strings, byte sequ ...
- [ 总结 ] nginx 安装过程
本次安装使用源码编译安装: 在安装nginx之前需要先安装三个源码包:pcre.zilb.openssl pcre:用于rewrite重写 zlib: 用于gzip压缩 openss ...
- 51nod 几道题
1001 数组中和等于K的数对 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数, 找出数组A中所有和等于 ...