<div>
<input type="file" name="filename" multiple="multiple" onchange="test1(this.files)" id="file" /><br> <script type="text/javascript">
function test1(files) {
if (files.length) {
console.log(files);//所有
console.log(files[0]);//第一个元素
console.log($("#file")[0].files);//所有
console.log($("#file")[0].files[0]);//第一个元素
console.log($("#file").files);//未定义
console.log($("#file").prop("files"));//所有
console.log($("#file").prop("files")[0]);//第一个元素
console.log("!!!");
// 获取文件
var file_data = $("#file").prop("files");
var A1 = files;
var A2 = files[0];
var A3 = $("#file")[0].files;
var A4 = $("#file")[0].files[0];
var A5 = $("#file").files;
var A6 = $("#file").prop("files");
var A7 = $("#file").prop("files")[0];
var formData = new FormData(); //改变时候上传文件
//formData.append("img", files[0]); //获取不到控制器请求的值
formData.append("A1", A1);
formData.append("A2", A2);
formData.append("A3", A3);
formData.append("A4", A4);
formData.append("A5", A5);
formData.append("A6", A6);
formData.append("A7", A7); //formData.append("s1", $("#file")[0].files); //获取不到值
//formData.append("img", file_data);//
//formData.append("img1", file_data); $.ajax({
url: "http://localhost:44714/UpFile/AddFile",
type: "POST",
data: formData,
processData: false,
contentType: false,
success: function (response) {
// 根据返回结果指定界面操作
}
});
}
}
</script>
      [HttpPost]
public ActionResult AddFile()
{ var s1s = Request.Files;
var A1 = Request.Files["A1"];
var A2 = Request.Files["A2"]; //
var A3 = Request.Files["A3"];
var A4 = Request.Files["A4"]; //
var A5 = Request.Files["A5"];
var A6 = Request.Files["A6"];
var A7 = Request.Files["A7"];//
if (Request.Files.Count == )
{
//throw new Exception("请选择上传文件!");
}
for (int i = ; i < Request.Files.Count; ++i)
{
HttpPostedFileBase file = Request.Files[i];
// 文件名为空证明没有选择上传文件
if (file.FileName == "")
{
return Content("文件名空");
}
}
return View();
}

测试结果

var files = Request.Files;
if (files.Count > )
{
HttpPostedFileBase file = Request.Files[];
if (file != null)
{
Newmode.ImagePath = SaveImg(file); //图片路径
}
}

js FormData 的使用的更多相关文章

  1. js formData图片上传(单图上传、多图上传)后台java

    单图上传 <div class="imgUp">     <label>头像单图</label>     <input type=&quo ...

  2. JS FormData 文件异步提交

    html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3 ...

  3. js FormData方法介绍

    1. 概述 FormData类型其实是在XMLHttpRequest 2级定义的,它是为序列化表以及创建与表单格式相同的数据(当然是用于XHR传输)提供便利. 2. 构造函数 创建一个formData ...

  4. JS formData

    有时候,我们需要使用formData来上传文件,并根据反馈的结果做不同的处理, 这个时候使用form来提交文件不方便 #perform 获取的的上传文件所用的input标签 var formData ...

  5. onethink上传图片(资源)和预览

    直接上干货 不废话了 普通上传:  onthink框架 后台已经有图片和文件上传功能 controller里只需: public function addPicture(){ /* 调用文件上传组件上 ...

  6. [ecmanget][常用标签]bookmark

    Bookmarks Bookmarks 书签栏 redis Try RedisRedisRedis应用2-Redis实现开发者头条页面点赞功能 - noaman_wgs的博客 - CSDN博客wind ...

  7. 原生js表单序列化----- FormData

    <style type="text/css"> .progress{ height: 10px; width: 600px; border: 1px solid red ...

  8. 原生js上传文件,使用new FormData()

    当创建一个内容较多的表单,表单里面又有了文件上传,文件上传也需要表单提交,单一的上传文件很好操作: <form action="接口" enctype="multi ...

  9. c#+js 使用formdata上传文件

    如果不是使用form表单submit的形式,我们可以手动通过formdata传值(针对文件上传等) 比如: <html> <head> <meta name=" ...

随机推荐

  1. Node.js+Protractor+vscode搭建测试环境(1)

    1.protractor简介 官网地址:http://www.protractortest.org/ Protractor是一个end-to-end的测试框架,从网络上得到的答案是Protractor ...

  2. Vue主要原理最简实现与逻辑梳理

    Vue的主要原理中主要用到了定义的这么几个函数Dep,Watcher,observer.我们来使用这几个函数简单的实现一下vue构造函数数据绑定和相互依赖部分,梳理一下它们之间的关系.省略了编译部分和 ...

  3. 继续聊WPF——进度条

    ProgressBar控件与传统WinForm使用方法完全一样,我们只需关注: Minimum——最小值,默认为0: Maximum——最大值,默认为100. Value——当前值.   关键是它的控 ...

  4. centos 7.2 安装php56-xml

    linux下, 使用thinkphp的模板标签,如 eq, gt, volist defined, present , empty等 标签时, 报错: used undefined function ...

  5. windows 2003一个网卡绑定多个IP地址

    1.打开“网络连接”,选中需要添加多个IP的“本地连接”-->右键-->“属性”: 2.从“常规”中找到“Internet 协议(TCP/IP)属性”: 3.选择手动设置IP地址.网关.掩 ...

  6. ACDream - Graphs

    先上题目: Graphs Time Limit: 4000/2000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit ...

  7. Class 找出一个整形数组中的元素的最大值

    目的:找出一个整形数组中的元素的最大值   以下,我们用类和对象的方法来做.   #include<iostream> using namespace std; class Array_m ...

  8. 编程算法 - 数组中的逆序对 代码(C)

    数组中的逆序对 代码(C) 本文地址: http://blog.csdn.net/caroline_wendy 题目: 在数组中的两个数字假设前面一个数字大于后面的数字, 则这两个数字组成一个逆序对. ...

  9. 理解和配置 Linux 下的 OOM Killer【转】

    本文转载自:http://www.vpsee.com/2013/10/how-to-configure-the-linux-oom-killer/ 最近有位 VPS 客户抱怨 MySQL 无缘无故挂掉 ...

  10. <% %> in html

    $(document).on('click', '.invoiceNumber', function () { var string = <%= StaticHelper.GetCurrentC ...