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 ...
随机推荐
- swig与python
当你觉得python慢的时候,当你的c/c++代码难以用在python上的时候,你可能会注意这篇文章.swig是一个可以把c/c++代码封装为python库的工具.(本文封装为python3的库) 文 ...
- bos开发日记一
BOS项目 第1天 项目12天安排: 1-2天:项目概述.搭建开发环境.主页设计.持久层和表现层设计 3-6天:项目业务开发(取派员.区域.分区.定区.业务受理)---整个项目分为基础设置.取派.中转 ...
- 6、Java并发编程:volatile关键字解析
Java并发编程:volatile关键字解析 volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在 ...
- Qt-QML-C++交互实现文件IO系统-后继-具体文件IO的实现
在上一篇文章中,我大致将这个QML中的文件IO类搭出了大致的框架,那么,今天抽时间写了一点文件的读写,这里我使用的文件流来读写文件. 文件结构如图 在QML中调用这个类了,就见简单的读取了一个JSON ...
- Python学习笔记(一)一一一环境安装错误总结
第三方库安装 1 windows存在多个版本的python,pip安装Python库失败 解决方案:进入对应官网下载安装包,步骤:1 下载安装包到C:\Python36\Lib\site-pack ...
- 第二章 IP协议详解
第二章 IP协议详解 2.1 IP服务的特点 它为上层协议提供了无状态,无连接,不可靠的服务 名称 简介 优点 缺点 对付缺点的方法 无状态 IP通信双方不同步传输数据的状态信息 无须为保持通信的状态 ...
- Spring Cloud(五):Hystrix 监控面板【Finchley 版】
Spring Cloud(五):Hystrix 监控面板[Finchley 版] 发表于 2018-04-16 | 更新于 2018-05-10 | 在上一篇 Hystrix 的介绍中,我们提到 ...
- JAVA基础学习之路(三)类定义及构造方法
类的定义及使用 一,类的定义 class Book {//定义一个类 int price;//定义一个属性 int num; public static int getMonney(int price ...
- Stunnel客户端安装和配置
声明:本文并非原创,转自华为云帮助中心的分布式缓存服务(DCS)的用户指南. 本文以公网访问华为云分布式缓存服务的Redis缓存为示例,介绍Stunnel客户端在各操作系统下的安装和配置. Stunn ...
- 基础数据类型-tuple
Python中,元组tuple与list类似,不同之处在于tuple的元素不能修改,tuple使用(),list使用[], (1)元组的创建使用(),需要注意的是创建包含一个元素的元组: tuple_ ...