1.配置Web.config;设定上传文件大小

<system.web>
<!--上传1000M限制(https://www.cnblogs.com/Joans/p/4315411.html)-->
<httpRuntime targetFramework="4.5.2" maxRequestLength="1024000000"/>
</system.web>
+
+
+(参考博客:(https://www.cnblogs.com/Joans/p/4315411.html))
+
+
<system.webServer>
<security>
<requestFiltering>
<!--上传1000M限制(https://www.cnblogs.com/Joans/p/4315411.html)-->
<requestLimits maxAllowedContentLength="1024000000" />
</requestFiltering>
</security>
</system.webServer>

2.前端(ajax*formdata)

<div>
<form method="post"enctype="multipart/form-data" data-ajax="false">
@*multiple="multiple"多选必备*@
<input type="file" name="Files" id="Files" multiple="multiple" value="上传Files" />
<br /><br />
@*type="button"以后用button*@
<input type="button" value="提交Files" onclick="uplod_Files()" />
</form>
</div>
<script>
function uplod_Files() {
var formData = new FormData();//就像cookie一样用,存入files[i];;数组形式
var files = document.getElementById("Files").files;
for (var i = 0; i < files.length ; i++)
{
formData.append("files_"+i, files[i]);
}
$.ajax({
url: "/ToPdf/Get_Files",//请求地址
dataType: "json",//数据格式
type: "POST",//请求方式
async: true,//是否异步请求
cache: false,//上传文件无需缓存
contentType: false,//必须
processData: false,//用于对data参数进行序列化处理 这里必须false
data: formData,
success: function (data) {
}
})
}
</script>

3.后台(Request.Files[i]

public void Get_Files()
{
try
{
var files = Request.Files;//得到前台ajax传过来的formData;;是个数组,基本单位是文件,可以不同类型
for (int i = 0; i < files.Count; i++)
{
var file = files[i];//数组;用indexof取
string file_path = Server.MapPath("Picture_File_Centre");//Picture_File_Centre人为设置存放路径
if (!Directory.Exists(file_path))
{
Directory.CreateDirectory(file_path);
}
var file_Path_Url = Path.Combine(file_path, Path.GetFileName(file.FileName));
file.SaveAs(file_Path_Url);//上传后保存文件
//优点;实现多类型多文件上传;;;只要是东西就可以上传,,后续有要求的可以自己在后台或前台做判断
//缺点:file_path内覆盖性写入,即上传文件与已有文件同名同类型时会覆写
}
}
catch (Exception)
{
throw;
}
}

多选文件批量上传前端(ajax*formdata)+后台(Request.Files[i])---input+ajax原生上传的更多相关文章

  1. jquery通过AJAX从后台获取信息并显示在表格上的类

    前一阵我写了:<jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中.>现在,我把他们处理了一下,不需要每次写代码了: 具体代码如下: //获取数据并显示数据表格 funct ...

  2. jquery通过AJAX从后台获取信息并显示在表格上,并支持行选中

    不想用Easyui的样式,但是想要他的表格功能,本来一开始是要到网上找相关插件的,但是没找到就开始自己写,没想到这么简单. 后台代码:(这个不重要) public ActionResult GetDi ...

  3. ajax +formdata ,后台为PHP 实现上传整个文件夹(只适合谷歌浏览器)带进度条

    PHP用超级全局变量数组$_FILES来记录文件上传相关信息的. 1.file_uploads=on/off 是否允许通过http方式上传文件 2.max_execution_time=30 允许脚本 ...

  4. asp.net 页面上传文件控件后台代码Request.Files获取不到

    今天开发中遇到页面文件上传控件选择了文件,而后台Request.Files.Count取值为0,之前开发中遇到过几次,老是忘掉,今天记下来. html: <input type="fi ...

  5. csv文件批量导入数据到sqlite。

    csv文件批量导入数据到sqlite. 代码: f = web.input(bs_switch = {})  # bs_switch 为from表单file字段的namedata =[i.split( ...

  6. ajax请求后台有时走有时不走

    ajax请求后台有时走有时不走   ajax请求后台有时走有时不走,是因为没有将请求设置为同步方式,async:false,(默认为true即异步).如果不想使用缓存可以将cache:false,例如 ...

  7. SpringMVC+Ajax实现文件批量上传和下载功能实例代码

    需求: 文件批量上传,支持断点续传. 文件批量下载,支持断点续传. 使用JS能够实现批量下载,能够提供接口从指定url中下载文件并保存在本地指定路径中. 服务器不需要打包. 支持大文件断点下载.比如下 ...

  8. Spring Boot2(十四):单文件上传/下载,文件批量上传

    文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用.结合mysql数据库.jpa数据层操作.thymeleaf页面模板. 一.准备 添加ma ...

  9. 带进度条的文件批量上传插件uploadify

    有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...

随机推荐

  1. Python3基础 sys.path 查看与修改导包的路径

             Python : 3.7.3          OS : Ubuntu 18.04.2 LTS         IDE : pycharm-community-2019.1.3    ...

  2. WMS开发环境

    须安装以下三个软件: JASPER报表开发工具:TIB_js-studiocomm_6.5.1.final_windows_x86_64.exe UI开发工具:Studio_7.0.0.0_win32 ...

  3. 【Linux】使用 walle + docker-compose 部署上线单获取不到分支的解决办法

    背景: 使用walle+docker 自动化部署项目.在新建上线单时候拉取不到分支,并提示有错误.但是没有错误信息 错误排查: 首先确保远程仓库已添加宿主机公钥,且一定先在宿主机手动连接一下远程仓库, ...

  4. Python 初级 6 循环 (二)

    一.复习 1 for循环 for looper in [1, 2, 3, 4]: print("hello") 1) 每次循环开始,会依次把列表中的数按顺序赋值给looper,第一 ...

  5. netty-websocket-spring-boot-starter关闭报错 io/netty/channel/AbstractChannel$AbstractUnsafe io/netty/util/concurrent/GlobalEventExecutor

    报错 java.lang.NoClassDefFoundError: io/netty/channel/AbstractChannel$AbstractUnsafe$ at io.netty.chan ...

  6. 通过自定义EasyNVR的Logo、标题、版权等相关信息构建属于自己的摄像机网页视频直播服务

    随着互联网基础设施建设的发展,4G/5G/NB-IoT各种网络技术.物联网技术的大规模商用,视频随时随地可看.可控.可回溯的诉求越来越多,互联网思维.架构和技术引入进传统监控行业里,成为新形势下全终端 ...

  7. LeetCode_441. Arranging Coins

    441. Arranging Coins Easy You have a total of n coins that you want to form in a staircase shape, wh ...

  8. python sys模块(12)

    在python sys模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数!关于sys模块在官网也有详细的介绍:python sys模块官方介绍. 一.sys模块简介 sys.arg ...

  9. ubuntu12下安装unixODBC(mysql)

    转自:https://blog.51cto.com/dreamylights/1321678 1. 需要的包 unixODBC源码包unixODBC-2.2.14.tar.gz mysql 驱动 my ...

  10. Java开发笔记(一百二十七)Swing的标签

    提起AWT的标签控件Label,那个使用体验可真叫糟糕,不但不支持文字换行,而且对中文很不友好,既可能把中文显示为乱码,还不支持博大精深的各种中文字体.所幸Swing的升级版标签JLabel在各方面都 ...