界面如下:

aaarticlea/png;base64,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" alt="" />

需要用到MyAjaxForm.js库

http://code1.okbase.net/codefile/MyAjaxForm.js_2013012620457_83.htm

<script src="~/Scripts/MyAjaxForm.js"></script>

 @using (Ajax.BeginForm("AjaxAddUserPrintReport", "Admin", new AjaxOptions() { HttpMethod = "post", LoadingElementId = "loading", OnSuccess = "afterOk",OnFailure="afterErr" }, new { id = "addform", @class = "form-horizontal", enctype = "multipart/form-data" }))
    { <div class="form-group">
<label for="uploadfile" class="col-md-2 control-label"> 上传文件:</label>
<div class="col-md-4">
<textarea class="form-control hidden" id="Uploadfileurl" name="Uploadfileurl" rows=""></textarea>
<input type="file" id="fileup" name="fileup" />
<button type="button" id="btnupload" class="btn btn-warning btn-sm">上传</button>
</div>
<div id="showfile" class="col-md-4"> </div>
</div>
}
  //点击上传文件
$("#btnupload").click(function () {
if ($(":file").val() == "")
{
alert("请选择上传文件后再点击上传按钮");
return;
}
$("#addform").ajaxSubmit({
error: function (error) { alert(error); },
url: '/Admin/AjaxUploadFile',
type: "post",
success: function (data) {
var arr = data.split(":");
if (arr[] == "ok") {
$("#Uploadfileurl").val($("#Uploadfileurl").val().trim()==""?arr[]: $("#Uploadfileurl").val()+ "," + arr[]);
addfile();
}
else {
alert(arr[]);
}
}
});
});

MVC中上传代码如下:

 /// <summary>
        /// 上传文件,最大上传10M
        /// </summary>
        /// <returns></returns> public ActionResult AjaxUploadFile()
{
try
{
HttpPostedFileBase uploadfile = Request.Files["fileup"];
if (uploadfile == null)
{
return Content("no:非法上传");
}
if (uploadfile.FileName == "")
{
return Content("no:请选择文件");
}
if (uploadfile.ContentLength > * * )
{
return Content("no:上传文件超过10M,实际上传大小为" + uploadfile.ContentLength);
}
string filename = Path.GetFileName(uploadfile.FileName);
string fileExt = Path.GetExtension(filename);
StringBuilder sbtime = new StringBuilder();
sbtime.Append(DateTime.Now.Year).Append(DateTime.Now.Month).Append(DateTime.Now.Day).Append(DateTime.Now.Hour).Append(DateTime.Now.Minute).Append(DateTime.Now.Second);
string dir = "/UploadFile/" + getUserBySession().Name + "/" + filename.Substring(, filename.LastIndexOf(".")) + "_" + sbtime.ToString() + fileExt;
string realfilepath = Request.MapPath(dir);
string readDir = Path.GetDirectoryName(realfilepath);
if (!Directory.Exists(readDir))
Directory.CreateDirectory(readDir); uploadfile.SaveAs(realfilepath);
return Content("ok:" + dir);
}
catch (Exception ex)
{
return Content("no:" + ex.Message);
}

asp.net异步上传的更多相关文章

  1. ASP.NET MVC 文件异步上传问题处理

    最近在做一个网站,用asp.net MVC4.0来开发,今天遇到了个小问题,通过查找相关渠道解决了,在这里把这个问题写出来,问题非常简单,不喜勿喷,mark之希望可以给遇到相同问题的初学者一点帮助.我 ...

  2. ASP.NET WebAPi(selfhost)之文件同步或异步上传

    前言 前面我们讲过利用AngularJs上传到WebAPi中进行处理,同时我们在MVC系列中讲过文件上传,本文结合MVC+WebAPi来进行文件的同步或者异步上传,顺便回顾下css和js,MVC作为客 ...

  3. Asp.Net Mvc异步上传文件的方式

    今天试了下mvc自带的ajax,发现上传文件时后端action接收不到文件, Request.Files和HttpPostedFileBase都接收不到.....后来搜索了下才知道mvc自带的Ajax ...

  4. ASP.NET MVC 使用jquery.form.js 异步上传 在IE下返回值被变为下载的解决办法

    错误记录: <script type="text/javascript"> $(function () { $(document).off("ajaxSend ...

  5. asp.net mvc 使用uploadfiles 实现异步上传数据

    lesg.cn 文章发布在:  http://www.lesg.cn/netdaima/net/2017-990.html 在实际开发过程中, 为了提高用户的体验,在上传文件的时候通常会使用异步上传文 ...

  6. 适用于各浏览器支持图片预览,无刷新异步上传js插件

    文件上传无疑是web应用中一个非常常用的功能,不管是PHP.jsp还是aspx.mvc等都会需要文件上传,但是众所周知当使用自带的文件上传功能时总会出现页面刷新的情况.当然现在有了html5这个好东西 ...

  7. 利用jquery.form实现异步上传文件

    实现原理 目前需要在一个页面实现多个地方调用上传控件上传文件,并且必须是异步上传.思考半天,想到通过创建动态表单包裹上传文件域,利用jquery.form实现异步提交表单,从而达到异步上传的目的,在上 ...

  8. MVC文件上传01-使用jquery异步上传并客户端验证类型和大小

    本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("F ...

  9. 文件上传之——用SWF插件实现文件异步上传和头像截取

    之前写过几篇文件上传,那些都不错.今天小编带领大家体会一种新的上传方法,及使用Flash插件实现文件上传. 使用Flash的好处就是可以解决浏览器兼容性问题.之前我写的一个快捷复制功能也是利用的Fla ...

随机推荐

  1. Servlet处理文件下载的编码问题,乱码。

    Servlet处理文件下载的编码问题,乱码. //处理文件名乱码问题 // 获得请求头中的User-Agent String agent = request.getHeader("User- ...

  2. vcf-tools 笔记

    vcf-query: 通过 vcf-query 提取DP (reads depth). ~/zengs/Tools/vcftools/perl/vcf-query -f '%CHROM\t%POS\t ...

  3. vs找不到lib以及编译的link过程中出现的问题

    1.#pragma comment 程序中已经通过该语句完成lib库的引入,如果再在input里面添加lib库就会报错: 2.要在general的“导入外部库”的设置选项的目录下面添加引用到的lib库 ...

  4. mysql数据库基本操作命令

    1.登录命令 mysql -u root -p "password" 2.列出所有数据库 show databases; 3.使用数据库 use db_name 4.列出数据库中所 ...

  5. JavaScript实现无刷新评论及在IE下的剪切板访问(学习)

    1.无刷新评论 tips: appendChild:将新元素作为父元素的最后一个子元素进行添加. insertBefore:在一个指定的子节点之前插入一个节点 实现: <!DOCTYPE htm ...

  6. git 跟踪分支 远程跟踪分支 学习笔记

    远程跟踪分支相当于一个只读仓库指针,从服务器上获取数据,不可以被本地直接修改. 跟踪分支相当于一个本地指针   用于项目更新和迭代. 1跟踪分支  (tracking  branch)   逻辑示意图 ...

  7. 51单片机实现定时器00H-FFH、定时器000-255

    #include< reg51.h> #define uint unsigned int #define uchar unsigned char sfr P0M0 = 0x94; sfr ...

  8. MySQL三方面优化

    第一方面:30种mysql优化sql语句查询的方法1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用 ...

  9. 211. String Permutation【LintCode by java】

    Description Given two strings, write a method to decide if one is a permutation of the other. Exampl ...

  10. 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法

    你遇到过性能很差的网页吗? 这种网页响应非常缓慢,占用大量的CPU和内存,浏览起来常常有卡顿,页面的动画效果也不流畅. 你会有什么反应?我猜想,大多数用户会关闭这个页面,改为访问其他网站.作为一个开发 ...