asp.net异步上传
界面如下:
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAjYAAABZCAIAAACi6fnEAAAHWUlEQVR4nO3dO27bSByAcd6JgAsHPkGCHIA3UJkTsPMd1BFeJU2cC6hT6gUs90whG6t9S14BhkW5mC0oUcPXzFAmzT+d7wdjQ/ElmnHmEylt4imI8fT0NJ/Pl8vlbrfr+1gAyLXb7ZbL5Xw+f3p66vtYuuX1fQDISZIkjuObm5tfAaDGzc1NHMfb7bbvEatzJAoAIBSJAgAIRaIAAEKRKACAUCQKACAUiQIACEWiAABCkSgAgFAkCgAgFIkCAAhFogAAQpEoAIBQJAoAIBSJAgAIRaIAAEKRKACAUCRKFn887C8AaBGJksUfq4fBIlEA2kWiZPHHaj1YJApAu0iULCQKADIkShZ/rFbOPM87YWblCq3oLlF+vVZ23tHKjtu28l0AbxKJksWaqEJgyr2prNEbSJTj/NNiZlhq2GFht9ZnJFFAUyRKFn+s/rXxPK9y2rBUnyiwPp27+kQtomA/agfRQl8wC7PxvLAkf1o6Htyt+2mlN9ki9+wBPzkSJYs/Vv+4KZQmnZP9N1tHnyg8bF1NohZR4PvhTCmVJilr0SzUujQLs5UqTkuro7m1ENZrIJcOledwFQU0RaJksSaqXJe6DpUXmffzctWJWkSBfoWUdakw33xauhncrddGJ8SsPL8yUQ2ju4iCQ8C14u9PYfpLdLggDWfHi9Nwpkr1N74YAGR5jUTV/8HLrfPp06emm7iMUL7vX15eNt2qL/5Y/W3jeV7lw3SisPQ1VScqd62kDbaF+ebT4pCo03Li+ESO/KorrcpENX3SY6NmYRAE6Znbn8L0NuphaVam44uAXJQoFIZkwIly3/Pl5WW2pvxE/eXG87zKiexhNrNOeTXztFVloooXS4fH6a+z7E0q47DpmJzyVvYT7nD7zv3ZXRLlkNGq7+tQ9EUUhGHoh7NjtvQ7qbkCZdPaTAqFQZGVqKbDkMsg5efL5HIwPXJPVLlJdYkybKs/7CFRvut7UfuT0/DdoPLEaft0nJ/9gDU6jMJW9WZpl2ZhEM2iIIgWhzn5U6xfnB7PaVWsgAEQkajyCnUvUZu+Ai2UyT1+fXFJlN6M8rQhUXXTbWl0o6/0VtR+wfHDf/5+MK0c4g3jvnn9inNui4TjT1ph/bYPdREF6ftO6XtN4SydoZwSdZikUBgYiYlqun7dJpWjicwyZfyx+tPG8zzDtD7HunK76j8ukX+zPvdGSt16+dNSqkjduG8Y662VarrUcYeGQy2vZtjnIgrCKM3SIgqCKAr3588lUel0ZDjHgESvlyjDy08X5R1a53z//t0xZnL4Y/WHked5hWl9jvlh3XRbGn7oPN8k24fOVdW4b45Q5asWl52XV3D5sTQ/ywnHXzQLfT/rexDkPuNnTdTh8pRCYVB6voqqDIlLRfR1zPtvlCjz0PMKWk+UeeV2Nf9fd/W7evaxszzE1y09bY7L77vLT6Z5UeFH13wM+UvNY3Jyn5BwS1R+G2AYxN3ocyzEG07U70ae5xUmDNPZnMqtKld+ia7/Gtl2c1L5G135asnK/RlPOAbgZyYrUdYhoLyVY3JcxhcJ/LFaOvA8r/ww+zS5Pr+wpr5a5dKX6CJRTSNR2MqwT+uT1i0ybGX9Ltw3AaCkJarptifsWWCWdI6Jkol/jANAu0QnyqVPTRvmuE/D0XbKH6vfBotEAWiXxET5NR/Gq9uk0UUYieoOiQLQLomJMm9SWRHDvf7B3egb9BcAtKj9RPnOCptU7qdyz9antu7kRd8hAOBV8I9xSPK83UxHq8m71dVZP1+Td5vpSD1v+z4RAKAUiRJlMx2tv1w8XL9/+Paxn6/r9+vPF5vpqO8zAQBKkShR1r+cP3ztr0/7Sn1YT877PhMAoBSJEmV1ddZzn759fPj2cXV11veZAAClSJQoJAoAdCRKEBIFADoSJQiJAgAdiRKERAGAjkQJQqIAQEeiBCFRAKAjUYI0SpRSyn0F68okCoBAJEoQEgUAOhIlSIuJSpeWn4JEARgQEiVI64k64RKKRAGQg0QJ0jRRBYVFJArA0JEoQVq5ilI1t/gyJArAUJAoQbq40WdejUQBkIxECdJRonQkCsCAkChBOvq4hOMmJAqANCRKkO6uohrd8SNRAIQgUYJ0dxWV7p9EARgWEiWINVHWPXCjD8BbQqIE4a+RBQAdiRKERAGAjkQJQqIAQEeiBCFRAKAjUYKQKADQkShB1pPzh+sPPSfq6/v15F3fZwIAlCJRomymo/WXiz4rdf1h/fliMx31fSYAQCkSJcvzdjMdrSbnq6uzfr4m55vpSD1v+z4RAKAUiQIAiEWiAABCkSgAgFAkCgAgFIkCAAhFogAAQpEoAIBQJAoAIBSJAgAIRaIAAEKRKACAUCQKACAUiQIACEWiAABCkSgAgFAkSpYkSeI4ns/nvwJAjfl8Hsfxdvv2/2k3EiVIkiS3t7d3d3er1eo/AKixWq3u7u5ub2+TJOl73OoWiRIkjuP7+/vHx8ckSXYAUCNJksfHx/v7+x8/fvQ9bnXrf/cqZGVsEjAsAAAAAElFTkSuQmCC" 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异步上传的更多相关文章
- ASP.NET MVC 文件异步上传问题处理
最近在做一个网站,用asp.net MVC4.0来开发,今天遇到了个小问题,通过查找相关渠道解决了,在这里把这个问题写出来,问题非常简单,不喜勿喷,mark之希望可以给遇到相同问题的初学者一点帮助.我 ...
- ASP.NET WebAPi(selfhost)之文件同步或异步上传
前言 前面我们讲过利用AngularJs上传到WebAPi中进行处理,同时我们在MVC系列中讲过文件上传,本文结合MVC+WebAPi来进行文件的同步或者异步上传,顺便回顾下css和js,MVC作为客 ...
- Asp.Net Mvc异步上传文件的方式
今天试了下mvc自带的ajax,发现上传文件时后端action接收不到文件, Request.Files和HttpPostedFileBase都接收不到.....后来搜索了下才知道mvc自带的Ajax ...
- ASP.NET MVC 使用jquery.form.js 异步上传 在IE下返回值被变为下载的解决办法
错误记录: <script type="text/javascript"> $(function () { $(document).off("ajaxSend ...
- asp.net mvc 使用uploadfiles 实现异步上传数据
lesg.cn 文章发布在: http://www.lesg.cn/netdaima/net/2017-990.html 在实际开发过程中, 为了提高用户的体验,在上传文件的时候通常会使用异步上传文 ...
- 适用于各浏览器支持图片预览,无刷新异步上传js插件
文件上传无疑是web应用中一个非常常用的功能,不管是PHP.jsp还是aspx.mvc等都会需要文件上传,但是众所周知当使用自带的文件上传功能时总会出现页面刷新的情况.当然现在有了html5这个好东西 ...
- 利用jquery.form实现异步上传文件
实现原理 目前需要在一个页面实现多个地方调用上传控件上传文件,并且必须是异步上传.思考半天,想到通过创建动态表单包裹上传文件域,利用jquery.form实现异步提交表单,从而达到异步上传的目的,在上 ...
- MVC文件上传01-使用jquery异步上传并客户端验证类型和大小
本篇体验MVC上传文件,从表单上传过渡到jquery异步上传. MVC最基本的上传文件是通过form表单提交方式 □ 前台视图部分 <% using(Html.BeginForm("F ...
- 文件上传之——用SWF插件实现文件异步上传和头像截取
之前写过几篇文件上传,那些都不错.今天小编带领大家体会一种新的上传方法,及使用Flash插件实现文件上传. 使用Flash的好处就是可以解决浏览器兼容性问题.之前我写的一个快捷复制功能也是利用的Fla ...
随机推荐
- 高斯消元c++(非常暴力)
暴力方法(已更新): #include<iostream> using namespace std; const int maxn = 1000; int n; double a[maxn ...
- Lingo解决最优化问题
目录 Lingo解决优化问题 前言 一.优化模型介绍 二.运输问题 2.1 问题描述 2.2 问题分析 2.2 优化模型构建 2.3 模型求解 2.4 求解结果 三.待更新 Lingo解决优化问题 @ ...
- Hadoop端口
本文转自:<Hadoop默认端口应用一览> Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问.而随着Hadoop周边 ...
- SQL条件判断中字符串后面有空格的问题
也不知何时才有的概念,还是以前一直没有注意,从哪也没有听说过的定义,今天又遇见了一个小坑,特记录下来,防止再陷坑! 才疏学浅,文笔有限,简单点说吧,就是在写SQL Server语句时,以前使用了 WH ...
- Ubuntu配置IP
Ubuntu网络配置的常用系统,于是我学习研究了Ubuntu网络配置,在这里对大家详细介绍下Ubuntu网络配置应用,希望对大家有用Ubuntu网络配置包含了非常好的翻译和容易使用的架构./etc/n ...
- #3.14 Piday#我的圆周率日
本文来自网易云社区 作者:马宝 圆周率日(Pi day) 2011年国际数学协会正式宣布,将每年的3月14日设为国际数学节,来源则是中国古代数学家祖冲之的圆周率."终极"圆周率日是 ...
- 「LeetCode」0003-Add Two Numbers(Typescript)
分析 代码 /** * @param {ListNode} l1 * @param {ListNode} l2 * @return {ListNode} */ var addTwoNumbers=fu ...
- python3读取csv文件
代码如下 import csv with open('D:\\abc\\userinfo.csv',newline='') as f: reader = csv.reader(f) for row i ...
- (转载)Unity3d中的属性(Attributes)整理
附加: float字段检视面板修改:[Range(1,10)] 对属性进行分组:[Header("xxx")] 工具栏中调用方法,类文件需在Editor文件夹中:[MenuIte( ...
- Java应用基础微专业-设计篇
第1章--抽象与接口 1.1 抽象 An abstract class can be created without abstract methods, the purpose of doing th ...