HTML代码:

<div>
<div>
<input type="file" style="display:none" id="files" multiple="multiple" accept="image/*"/>
<input type="button" value="点击上传" id="btnfile" /> <input type="button" value="确认提交" id="btnupload" />
</div>
<div class="imgpreview"> </div>
</div>

然后添加点样式:

<style>
#btnfile, #btnupload {
width: 120px;
height: 30px;
background: #2ECC71;
text-align: center;
margin: 10px auto;
border: none;
color: #f5f4f4;
border-radius: 15px;
outline: none;
font-size: 14px;
} .imgpreview {
width: %;
height: auto;
display: flex;
flex-wrap: wrap;
} .delete {
display: none;
position: absolute;
cursor: pointer;
z-index: ;
top: 0px;
right:1px;
} .imgpreview > div {
width: %;
height: auto;
margin-left: 5px;
position: relative;
} .imgpreview > div > img {
width: %; } .imgpreview > div:hover .delete {
display: block;
} .imgpreview > div :hover {
opacity: 0.4;
color: #fff;
background: rgba(,,,0.5);
position: relative;
} </style>

js代码:

<script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
<script>
$(function () {
var formdata = new FormData(); $("#btnfile").click(function () {
$("#files").trigger("click");
});
$("#files").change(function (e) {
var allfile = e.target.files;
var name = '', div = '', image = '';
for (var i = ; i < allfile.length; i++) {
var first = allfile[i];
var reader = new FileReader();
reader.readAsDataURL(first);
reader.onloadend = (function (i) {
var div = $("<div><span class=\"delete\">X</span></div>");
var img = $("<img/>");
img.attr("src", this.result);
div.append(img);
$(".imgpreview").append(div);
formdata.append("uploadfile", first)
});
};
}) $("#btnupload").click(function () {
//formdata.append("text", "1");
//formdata.append("text", "2");
$.ajax({
url: "program/action.aspx?r=" + new Date(),
type: "POST",
data: formdata,
cache: false, //不设置缓存
processData: false, // 不处理数据
contentType: false // 不设置内容类型
});
}); }); </script>

后台处理:

 public void uploadimg()
{
//string text = Request.Form["text"];
System.Web.HttpFileCollection files = System.Web.HttpContext.Current.Request.Files;
for (int i = ; i < files.AllKeys.Count(); i++)
{
if (files.AllKeys[i] == "uploadfile")
{
if (files[i].FileName.Length > )
{
System.Web.HttpPostedFile postedfile = files[i];
string filePath = "";
var ext = Path.GetExtension(postedfile.FileName);
var fileName = DateTime.Now.Ticks.ToString() + ext;
// 组合文件存储的相对路径
filePath = "/mytest/upload/" + fileName;
// 将相对路径转换成物理路径
var path = Server.MapPath(filePath);
postedfile.SaveAs(path); }
}
} }

.NET File 多图上传的更多相关文章

  1. jquery input file 多图上传,单张删除,查看

    <div class="form-group"> <label for="imgs" class="col-md-3 col-sm- ...

  2. HTML5 原生API input file 来实现多图上传,并大图预览

    闲来无事,突然想用原生来实现图片的多图上传. 一.效果图大致如下: 1.上传时可以选择多图 2.上传之后缩略图下过图如下: 3.点击缩略图,大图展示当前所点击的图片,并可以左右滑动查看其它的缩略图对应 ...

  3. yii2组件之多图上传插件FileInput的详细使用

    作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...

  4. php多图上传问题笔记

    图片上传好用插件有,比如 uploadify  ueditor html5的各种ajax上传插件,大部分都是异步,返回只是true之类,有些时候需要上传图片需要一起上传,其实可以通过操作流程来避免这个 ...

  5. PHP之:多图上传

    撰写日期:2016-6-30 15:17:35 Thursday 参考 http://a3147972.blog.51cto.com/2366547/1381136 (08-05ThinkPHP+sw ...

  6. JS案例之4——Ajax多图上传

    近期项目中有好几次用到多图上传,第一次在项目中真正用到Ajax技术,稍微整理了下,贴个案例出来. 我们传统的做法是当用户提交一个表单时,就向web服务器端发送一个请求.服务器接受并处理传来的表单信息, ...

  7. jQuery多图上传Uploadify插件使用及传参详解

    因为工作需要,这两天接触到了Uploadify插件,由于是第一次用,花了我近一天的时间.下面我把我在用这个插件过程详细的分享出来,也让自己巩固一下,也希望能帮助到你. 所需文件: jquery-1.8 ...

  8. thinkphp3.2.x多图上传并且生成多张缩略图

    html部分 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" con ...

  9. thinkphp5多图上传 js部分

    在项目中常会用到多图上上传,那就需要多图上传后需要预览,并且能删掉传错(不想传)的图,然而 测试了半天 并不知道jq怎么写,parent()parents()用了半天无果,罢了,还是用原生js来写.这 ...

随机推荐

  1. ASP.NET实现大文件上传和下载

    总结一下大文件分片上传和断点续传的问题.因为文件过大(比如1G以上),必须要考虑上传过程网络中断的情况.http的网络请求中本身就已经具备了分片上传功能,当传输的文件比较大时,http协议自动会将文件 ...

  2. [ZJU 1010] Area

    ZOJ Problem Set - 1010 Area Time Limit: 2 Seconds      Memory Limit: 65536 KB      Special Judge Jer ...

  3. 【转】SQL Pretty Printer for SSMS 很不错的SQL格式化插件

    源地址:https://www.cnblogs.com/leospace/archive/2012/09/04/SQL_Pretty_Printer_for_SSMS.html 写SQL语句或者脚本时 ...

  4. 在阿里云虚拟主机上部署Laravel

    拿laravel5.1来说: 在根目录下创建一个local文件夹,把网站根目录下除了public文件夹以外所有文件及文件夹剪切到local文件夹中 然后把public文件夹下的所有文件剪切到网站根目录 ...

  5. WIN7系统JavaEE(java+tomcat7+Eclipse)环境配置

    https://jingyan.baidu.com/article/3a2f7c2e62d25e26afd611fa.html WIN7系统JavaEE(java+tomcat7+Eclipse)环境 ...

  6. MySQL慢日志分析之pt-query-digest

    http://www.php.cn/mysql-tutorials-357655.html 监控慢日志: pt-query-digest 切割分析慢日志 anemometer 删掉垃圾查询 pt-ki ...

  7. COUNT(*) vs COUNT(col)

    w https://www.percona.com/blog/2007/04/10/count-vs-countcol/

  8. Docker报错:“WARNING: IPv4 forwarding is disabled. Networking will not work.”解决。

    问题阐述 一次停电之后,服务器停机,然后ip莫名被占用,修改新的ip之后,ssh能够连接上去,但是web服务访问不了,数据库访问不了,除了22端口,其它服务端口都不能telnet. 防火前.IPtab ...

  9. Java Bean 使用包装类型 还是基本类型

    参考:实体类中用基本类型好,还是用包装类型好_ - 牵牛花 - 博客园 int优缺点 优点: 1.用于Bean的时候,有默认值.比如自己拼接sql增加一个User时,会方便很多,不过现在都用ORM框架 ...

  10. 将字符串映射为Delphi控件名,批量修改控件属性

    http://blog.sina.com.cn/s/blog_4dfbd07c01000a81.html 将字符串映射为Delphi控件名,批量修改控件属性 (2007-10-08 14:50:51) ...