//-----前端文件-------

form id="uploadForm" enctype="multipart/form-data">
<input id="files" type="file" multiple="multiple" onchange="onChange();"/>
<div id="div1" style="width:100px;height:auto"></div>
<div id="flshID"></div>
<button id="upload" type="button">上传</button>
<button id="swfupload" type="button" onclick="swfUp();">swf上传</button>
<div id="picloding"></div>
<div id="addimgs"></div>

</form>

//----------------js------------------------------------

$(function () {
$("#upload").click(function () {
var formdata = new FormData();
var wenjian = $("#files")[0].files// document.getElementById("files").files;这里$("#files")[0]是jquery对象装换成dom对象
if (wenjian.length <= 0) {
alert("请选择文件");
retun;
}

for (i = 0; i < wenjian.length; i++) {
formdata.append(wenjian[i].name, wenjian[i]);
}

$.ajax({
type: "POST",
url: "/My/UploadFiles",
data: formdata,
datatype: "json",
contentType: false,//必须false才会自动加上正确的Content-Type
processData: false,//必须false才会避开jQuery对 formdata 的默认处理 ,XMLHttpRequest会对 formdata 进行正确的处理

success: function (result) {
alert(result.msg);
},
error: function () {
alert("Error");
}

});
});
});

//后端 controller

public JsonResult UploadFiles()
{
var files = Request.Files;
for (int i = 0; i < files.Count; i++)
{
string key=files.Keys[i];
var file=files[key];
string fileName = file.FileName;
var filesUrl = Server.MapPath("~/Upload");
if (Directory.Exists(filesUrl) == false)//路径不存在则创建
{ Directory.CreateDirectory(filesUrl); }
var path = Path.Combine(filesUrl, fileName);
if (System.IO.File.Exists(path))
{
return Json(new {msg="已存在同名文件" });
}
file.SaveAs(path);

}

return Json(new { msg = "上传成功" });
}

上传文件 input file的更多相关文章

  1. 通过Ajax方式上传文件(input file),使用FormData进行Ajax请求

    <script type="text/jscript"> $(function () { $("#btn_uploadimg").click(fun ...

  2. jquery即时获取上传文件input file文件名

    截图:   代码: <input type="file" id="choosefile" style="display:none"/& ...

  3. python+selenium:解决上传文件<input type='file'>标签属性被css的visibility隐藏导致无法定位元素的问题

    要想上传文件,需要找到在HTML中<input type="file" />这个标签,有它就可以利用send_keys上传文件,不过这里的<input>元素 ...

  4. JS分段上传文件(File)并使用MD5.js加密文件段用来后台校验

    HTML <form method="POST" name="form1" action="/mupload/upload/" enc ...

  5. python+selenium上传文件——input标签

    我们要区分出上传按钮的种类,大体上可以分为两种: 第一种普通上传:将本地文件路径作为一个值,放在input标签中,通过form表单将这个值提交给服务器: 第二种插件上传:是通过Flash.JavaSc ...

  6. 移动端头像上传AJax input file

    jQuery中的Ajax不能支持 input file 需要用ajaxupload.js但是先需要引入jQuery文件 <script src="__PUBLIC__/js/ajaxf ...

  7. 文件上传:input file FileReader

    js: window.onload = function () { var input = document.getElementById('input-file'), info = document ...

  8. android 模拟器上传文件 Read-only file system

    在cmd窗口一条命令就可以了:adb shellmount -o remount rw /

  9. ajax如何上传文件(整理)

    ajax如何上传文件(整理) 一.总结 一句话总结:用FormData,FormData+ajax=异步上传二进制文件 <form enctype="multipart/form-da ...

随机推荐

  1. Spring整合EHCache框架

    在Spring中使用缓存可以有效地避免不断地获取相同数据,重复地访问数据库,导致程序性能恶化. 在Spring中已经定义了缓存的CacheManager和Cache接口,只需要实例化便可使用. Spr ...

  2. 2021工厂取消2094仓位需求,不参与FP分析

    正确做法应该是修改这个sSIS NOT IN 2094 目前在不修改SSIS前提下,可以先在进IN表前过滤掉

  3. XSS和CSRF的区别

    XSS:攻击者发现XSS漏洞 => 构造代码 => 发送给受害者 => 攻击者获取受害者的cookie => 完成攻击 CSRF:攻击者发现CSRF漏洞 => 构造代码 ...

  4. python 内置函数(二) 进阶函数 递归内容及二分法查找 知识点

    1,lambda:  匿名函数 2.sorgted()  排序函数 3,filter()   过滤函数 筛选 4,map()  映射函数 5.递归 6.二分法 一. 匿名函数: lambda lamb ...

  5. C#中与C++中的 LPWSTR(wchar_t *) 对应的类型

    1.设置 CharSet = CharSet.Unicode [DllImport("test.dll", EntryPoint = "sum()", Char ...

  6. Redis数据结构的多种用法

    分布式锁(string) setnx key value,当key不存在时,将 key 的值设为 value ,返回1.若给定的 key 已经存在,则setnx不做任何动作,返回0. 当setnx返回 ...

  7. 最短路 poj1125

    输入一个n表示有n个点,接下来n行,每行(假设是u)第一个数字m表示有m对数字(每一对两个数字v,w,表示u到v的时间w),后面接m对数字.找一个起点,它到其他点所花费的时间(求起点到其他点距离的最大 ...

  8. Shell教程 之第一个shell脚本

    1.第一个shell脚本 打开文本编辑器(可以使用 vi/vim 命令来创建文件),新建一个文件 test.sh,扩展名为 sh(sh代表shell),扩展名并不影响脚本执行 输入一些代码 #!/bi ...

  9. Mastering Unity 2D Game Development

    Mastering Unity 2D Game Development will give your game development skills a boost and help you begi ...

  10. java 基础之--java动态代理

    1.抽象角色:声明真实对象与代理对象的共同接口: 2.代理角色:相当于中介的作用,bridge,内部包含对真实角色的reference,在执行真实操作对象时,附加其他操作,相当于对真实角色的封装: 3 ...