··························································
开发工具:Visual Studio 2015
关键技术:C#MVC、FormData
作者:邵亮华
撰写时间:2019-01-16
··························································
我在做后台管理项目时经常有需要提交二进制类型的数据,但是文件和图片类型的数据不能直接获取值。下面介绍HTML5 FormData 方法介绍以及实现文件上传
FormData 就是 XMLHttpRequest一个对象,利用它来提交表单、模拟表单提交,使用formData进行传递,好处是可以传递文件和图片。
FormData的基本用法:FormData对象,可以把所有表单元素的name与value组成一个queryString,提交到后台。只需要把 form 表单作为参数传入 FormData 构造函数即可:
1、var form = document.getElementById("form1");
2、 var formData = new FormData(form);
这样就可以直接通过ajax 的 send() 方法将 formData 发送到后台。
目录
HTML
JS
控制器
利用form表单
<form id="fr">
<div class="form-group text-center">
<div class="img-box text-center">
<img src="" alt="" width="150" height="180" id="imgPicture" />
<input type="file" style="margin-left:90px;margin-top:5px;" name="Picture" id="Picture" />
div>
<p class="text-center">录入须知:上传的图片上限大小为10M!p>
div>
<div class="form-group">
<div class="col-lg-6 text-right">
<label class="control-label">姓名label>
div>
<div class="col-lg-6">
<input id="Name" class="form-control" name="Name"/>
div>
div>
<div class="form-group">
<div class="col-lg-6 text-right">
<label class="control-label">金额label>
div>
<div class="col-lg-6">
<input id="Money" class="form-control" name="Money"/>
div>
div>
<div class="form-group">
<div class="col-lg-6 text-right">
<label class="control-label">日期label>
div>
<div class="col-lg-6">
<input id="Date" class="form-control" type="date" name="Date"/>
div>
div>
<div class="form-group text-center">
<input id="Save" type="button" value="提交" />
div>
<div class="form-group text-center">
<input id="Clean" type="button" value="重置" />
div>
form>
processData设置为false。因为data值是FormData对象,不需要对数据做处理。