.NET File 多图上传
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 多图上传的更多相关文章
- jquery input file 多图上传,单张删除,查看
<div class="form-group"> <label for="imgs" class="col-md-3 col-sm- ...
- HTML5 原生API input file 来实现多图上传,并大图预览
闲来无事,突然想用原生来实现图片的多图上传. 一.效果图大致如下: 1.上传时可以选择多图 2.上传之后缩略图下过图如下: 3.点击缩略图,大图展示当前所点击的图片,并可以左右滑动查看其它的缩略图对应 ...
- yii2组件之多图上传插件FileInput的详细使用
作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...
- php多图上传问题笔记
图片上传好用插件有,比如 uploadify ueditor html5的各种ajax上传插件,大部分都是异步,返回只是true之类,有些时候需要上传图片需要一起上传,其实可以通过操作流程来避免这个 ...
- PHP之:多图上传
撰写日期:2016-6-30 15:17:35 Thursday 参考 http://a3147972.blog.51cto.com/2366547/1381136 (08-05ThinkPHP+sw ...
- JS案例之4——Ajax多图上传
近期项目中有好几次用到多图上传,第一次在项目中真正用到Ajax技术,稍微整理了下,贴个案例出来. 我们传统的做法是当用户提交一个表单时,就向web服务器端发送一个请求.服务器接受并处理传来的表单信息, ...
- jQuery多图上传Uploadify插件使用及传参详解
因为工作需要,这两天接触到了Uploadify插件,由于是第一次用,花了我近一天的时间.下面我把我在用这个插件过程详细的分享出来,也让自己巩固一下,也希望能帮助到你. 所需文件: jquery-1.8 ...
- thinkphp3.2.x多图上传并且生成多张缩略图
html部分 <!DOCTYPE html><html><head><meta http-equiv="Content-Type" con ...
- thinkphp5多图上传 js部分
在项目中常会用到多图上上传,那就需要多图上传后需要预览,并且能删掉传错(不想传)的图,然而 测试了半天 并不知道jq怎么写,parent()parents()用了半天无果,罢了,还是用原生js来写.这 ...
随机推荐
- BZOJ 4923: [Lydsy1706月赛]K小值查询 Splay + 思维
Description 维护一个长度为n的正整数序列a_1,a_2,...,a_n,支持以下两种操作: 1 k,将序列a从小到大排序,输出a_k的值. 2 k,将所有严格大于k的数a_i减去k. In ...
- 随机森林(Random Forest,简称RF)和Bagging算法
随机森林(Random Forest,简称RF) 随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支——集成学习(Ensemble Learn ...
- 洛谷P1199 三国游戏——题解
题目传送 显然,在这样的数据范围下搜索是没希望的了.好好分析一下,发现小涵时不可能拿到与一个武将最默契的另一个武将了.所以考虑一下默契值次大的一对武将. 显然,对每一个武将来说,小涵是可以拿到默契值次 ...
- SSM+PageHelper 使用
项目中使用了maven 1 引入jar包 首先需要引入PageHelper的jar包. 如果使用了maven,那么只要在pom.xml中引入该插件即可,引入如下: <dependency> ...
- 大数据笔记(十九)——数据采集引擎Sqoop和Flume安装测试详解
一.Sqoop数据采集引擎 采集关系型数据库中的数据 用在离线计算的应用中 强调:批量 (1)数据交换引擎: RDBMS <---> Sqoop <---> HDFS.HBas ...
- java 中创建线程有哪几种方式?
Java中创建线程主要有三种方式: 一.继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务.因此把run()方法称为执行 ...
- React-Native 之 GD (十一)加载更多功能完善 及 跳转详情页
1.加载更多功能完善 GDHome.js /** * 首页 */ import React, { Component } from 'react'; import { StyleSheet, Text ...
- ImageView的src与background及ScaleType
1 概述 开发中经常使用Imageview的src和background属性,从字面上看src是路径,background是背景.二者都可以显示drawable或者颜色.设置drawable图片资源时 ...
- 005-unity3d 添加背景音乐、音效 以及 天空盒子
一.基础知识 1.项目中需要有AudioListener,播放器中播放的声音就是AudioListener组件坐在的位置听到的声音.默认AudioListener是放到Main Camera上.没有A ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_05 List集合_4_Vector集合
是jdk1.0开始的一个集合,了解一下就可以了. 同步的意味着单线程.同步意味着慢 遍历在jdk1.0还没有Interator遍历器..它是通过elements Enumeration向量枚举.类似于 ...