1. <div>
  2. <input type="file" name="filename" multiple="multiple" onchange="test1(this.files)" id="file" /><br>
  3.  
  4. <script type="text/javascript">
  5. function test1(files) {
  6. if (files.length) {
  7. console.log(files);//所有
  8. console.log(files[0]);//第一个元素
  9. console.log($("#file")[0].files);//所有
  10. console.log($("#file")[0].files[0]);//第一个元素
  11. console.log($("#file").files);//未定义
  12. console.log($("#file").prop("files"));//所有
  13. console.log($("#file").prop("files")[0]);//第一个元素
  14. console.log("!!!");
  15. // 获取文件
  16. var file_data = $("#file").prop("files");
  17. var A1 = files;
  18. var A2 = files[0];
  19. var A3 = $("#file")[0].files;
  20. var A4 = $("#file")[0].files[0];
  21. var A5 = $("#file").files;
  22. var A6 = $("#file").prop("files");
  23. var A7 = $("#file").prop("files")[0];
  24. var formData = new FormData(); //改变时候上传文件
  25. //formData.append("img", files[0]); //获取不到控制器请求的值
  26. formData.append("A1", A1);
  27. formData.append("A2", A2);
  28. formData.append("A3", A3);
  29. formData.append("A4", A4);
  30. formData.append("A5", A5);
  31. formData.append("A6", A6);
  32. formData.append("A7", A7);
  33.  
  34. //formData.append("s1", $("#file")[0].files); //获取不到值
  35. //formData.append("img", file_data);//
  36. //formData.append("img1", file_data);
  37.  
  38. $.ajax({
  39. url: "http://localhost:44714/UpFile/AddFile",
  40. type: "POST",
  41. data: formData,
  42. processData: false,
  43. contentType: false,
  44. success: function (response) {
  45. // 根据返回结果指定界面操作
  46. }
  47. });
  48. }
  49. }
  50. </script>
  1. [HttpPost]
  2. public ActionResult AddFile()
  3. {
  4.  
  5. var s1s = Request.Files;
  6. var A1 = Request.Files["A1"];
  7. var A2 = Request.Files["A2"]; //
  8. var A3 = Request.Files["A3"];
  9. var A4 = Request.Files["A4"]; //
  10. var A5 = Request.Files["A5"];
  11. var A6 = Request.Files["A6"];
  12. var A7 = Request.Files["A7"];//
  13. if (Request.Files.Count == )
  14. {
  15. //throw new Exception("请选择上传文件!");
  16. }
  17. for (int i = ; i < Request.Files.Count; ++i)
  18. {
  19. HttpPostedFileBase file = Request.Files[i];
  20. // 文件名为空证明没有选择上传文件
  21. if (file.FileName == "")
  22. {
  23. return Content("文件名空");
  24. }
  25. }
  26. return View();
  27. }

测试结果

  1. var files = Request.Files;
  2. if (files.Count > )
  3. {
  4. HttpPostedFileBase file = Request.Files[];
  5. if (file != null)
  6. {
  7. Newmode.ImagePath = SaveImg(file); //图片路径
  8. }
  9. }

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. [luogu4285 SHOI2008] 汉诺塔 (暴力,数学)

    传送门 Solution 强行猜测公式形如\(f_i=k\times f_{i-1}+b\),暴力求\(f_1,f_2,f_3\),剩下的递推就行 Code #include <cstdio&g ...

  2. [bzoj2044] 三维导弹拦截 (二分图最大匹配+dp)

    传送门 Description 一场战争正在A国与B国之间如火如荼的展开. B国凭借其强大的经济实力开发出了无数的远程攻击导弹,B国的领导人希望,通过这些导弹直接毁灭A国的指挥部,从而取得战斗的胜利! ...

  3. [luogu2679] 子串 (多维dp)

    传送门 Description 有两个仅包含小写英文字母的字符串 A 和 B . 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来 ...

  4. Java设计模式之 — 单例(Singleton)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8860649 写软件的时候经常需要用到打印日志功能,可以帮助你调试和定位问题,项目上 ...

  5. 【*2000】【2018-2019 ICPC, NEERC, Southern Subregional Contest C 】Cloud Computing

    [链接] 我是链接,点我呀:) [题意] [题解] 我们可以很容易知道区间的每个位置有哪些安排可以用. 显然 我们优先用那些花费的钱比较少的租用cpu方案. 但一个方案可供租用的cpu有限. 我们可以 ...

  6. APIO2017听课笔记关键词

  7. Centos6.4建立本地yum源

    https://jingyan.baidu.com/article/e9fb46e1aed8207521f7662c.html

  8. SPOJ 1771&&DLX精确覆盖,重复覆盖

    DLX的题,做过这题才算是会吧. 这道题转化成了精确覆盖模型来做,一开始,只是单纯的要覆盖完行列和斜线,WA. 后来醒悟了,不能这样,只要覆盖全部行或列即可.虽然如此,但某些细节地方很关键不能考虑到. ...

  9. [Oracle]行列转换(行合并与拆分)

    使用wmsys.wm_concat 实现行合并 在 Oracle  中, 将某一个栏位的多行数据转换成使用逗号风格的一行显示.能够使用函数  wmsys.wm_concat 达成. 这个在上一篇 or ...

  10. C语言播放声音最简单的两种方法

    1. 假设仅须要播放波形文件wav格式的声音,非常easy.仅仅需一句话: PlaySound(TEXT("Data\\1.wav"), NULL, SND_FILENAME | ...