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 ...
随机推荐
- 使用vue做移动app时,调用摄像头扫描二维码
现在前端技术发展飞快,前端都能做app了,那么项目中,也会遇到调用安卓手机基层的一些功能,比如调用摄像头,完成扫描二维码功能 下面我就为大家讲解一下,我在项目中调用这功能的过程. 首先我们需要一个中间 ...
- 51nod 最大M子段和系列
1052 最大M子段和 N个整数组成的序列a[1],a[2],a[3],…,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的.如果M >= N个数中正数的个数,那么输出所 ...
- from表单详解
- django+apache部署
参考:http://blog.csdn.net/rongyongfeikai2/article/details/13093555/ 参考:http://blog.csdn.net/yingmutong ...
- linux下检测可用串口并使用minicom打开
目前使用minicom作为串口软件.但使用过程中,有一点感觉不方便的地方,就是我需要使用多个串口,当使用的不是串口0时,就要手动修改minicom的配置. 于是考虑实现脚本,自动列出当前串口,选择后调 ...
- mac air上archlinux的安装及优化
前言 最近总感觉跑了两年多ubuntu系统的MacBookAir6,2越来越不行了,内存总是亮红灯,软件效率也低了不少.最直接的解决方法当然是换电脑,购买一台配置更好的,比如2017款xps,不过在我 ...
- SpringBoot集成整合pageHelper分页插件
今天来讲讲springboot 集成 pagehelper插件, 引入jar 依赖包 <!-- 分页插件 --><dependency> <groupId>com. ...
- jsp页面点击打印按钮调用系统 的打印功能
<script language=javascript> function prt() { var btn_obj = document.getElementById("prin ...
- DRF的认证与权限功能
认证 1.全局配置 在setting.py进行配置. REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( # 'rest_framework. ...
- RBTree 红黑树
红黑树 一.红黑树概述 红黑树不仅是一个二叉搜索树,并且满足以下规则: 1>每个节点不是红的就是黑的, 2>根结点为黑色, 3>如果节点为红色,其子节点必须为黑色, 4>任一节 ...