asp.net异步上传
界面如下:
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异步上传的更多相关文章
- 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 ...
随机推荐
- python 感叹号的作用
1. !表示反转逻辑表达式的值 2. 打印格式控制中: x!r代表repr(x),x!s代表str(x),x!a代表ascii(x)
- java 获取目标时间到当前时间中间的月份和每月最大时间
话不多说自己上代码: Date firstDate = DateUtil.formate("2018-01-01", "yyyy-MM-dd"); Date c ...
- python2.7入门---CGI编程&表单操作&cookie操作
看到标题我们首先有个疑问,什么是CGI?CGI 目前由NCSA维护,NCSA定义CGI为:CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上 ...
- 【Hutool】Hutool工具类之String工具——StrUtil
类似的是commons-lang中的StringUtils 空与非空的操作——经典的isBlank/isNotBlank.isEmpty/isNotEmpty isBlank()——是否为空白,空白的 ...
- (转) 如何从 0 开始学 ruby on rails (漫步版)
原文:http://readful.com/post/12322300571/0-ruby-on-rails ruby 是一门编程语言,ruby on rails 是 ruby 的一个 web 框架, ...
- hdu2147kiki's game(找规律)
kiki's game Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/10000 K (Java/Others)Total ...
- php单例模式和工厂模式
单例模式:防止重复实例化,避免大量的new操作,减少消耗系统和内存的资源,使得有且仅有一个实例对象 header("Content-type: text/html; charset=utf- ...
- es6笔记4^_^function
一.function默认参数 现在可以在定义函数的时候指定参数的默认值了,而不用像以前那样通过逻辑或操作符来达到目的了. es5 function sayHello(name){ //传统的指定默认参 ...
- 计蒜客蓝桥杯模拟赛 后缀字符串:STL_map+贪心
问题描述 一天蒜头君得到 n 个字符串 si,每个字符串的长度都不超过 10. 蒜头君在想,在这 n 个字符串中,以 si 为后缀的字符串有多少个呢? 输入格式 第一行输入一个整数 n. 接下来 ...
- Paper Reading - Learning to Evaluate Image Captioning ( CVPR 2018 ) ★
Link of the Paper: https://arxiv.org/abs/1806.06422 Innovations: The authors propose a novel learnin ...