.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来写.这 ...
随机推荐
- 【bzoj3195】【 [Jxoi2012]奇怪的道路】另类压缩的状压dp好题
(上不了p站我要死了) 啊啊,其实想清楚了还是挺简单的. Description 小宇从历史书上了解到一个古老的文明.这个文明在各个方面高度发达,交通方面也不例外.考古学家已经知道,这个文明在全盛时期 ...
- encodeURIComponent()加密、decodeURIComponent()解码及v-html将字符串转换为html
1)新闻详情页后台给我的数据是加密之后的,我问了后台,是用encodeURIComponent()加密的,然后我就用对应的方法decodeURIComponent()解密: this.$store.s ...
- 从Mybatis中#和$的区别到SQL预编译
#和$的区别 Mybatis中参数传递可以通过#和$设置.它们的区别是什么呢? # Mybatis在解析SQL语句时,sql语句中的参数会被预编译为占位符问号? $ Mybatis在解析SQL语句时, ...
- AMD - Learning JavaScript Design Patterns [Book] - O'Reilly
AMD - Learning JavaScript Design Patterns [Book] - O'Reilly The overall goal for the Asynchronous Mo ...
- Laravel 在homestead 平台上命令
使用以下命令查看 Heroku 站点地址: $ heroku domains
- C# Oledb 连接Access数据库字符串
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbFile + ";Persist ...
- 十八、浏览器不能打开jenkins报告,报错Opening Robot Framework report failed
解决方案一:(推荐) 打开jenkins----系统管理---输入: System.setProperty("hudson.model.DirectoryBrowserSupport.CS ...
- LongAdder 源码分析
LongAdder LongAdder 能解决什么问题?什么时候使用 LongAdder? 1)LongAdder 内部包含一个基础值[base]和一个单元[Cell]数组. 没有竞争的情况下,要累加 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_1-常用API_1_第5节 String类_10_练习:统计输入的字符串中
char类型在发生数学运算的时候,可以提升为int类型 这就表示char在A到Z之间的
- 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_03 过滤器_1_FileFilter过滤器的原理和使用
FileFilter 需要先定义接口的实现类.并重写过滤的方法 使用 并没有起作用 过滤器的原理 缺少了a.java和b.java 如果是文件夹,就返回true,那么就会返回到Files[]数组中.然 ...