页面代码:

<style>
.uploadImgBtn2{
width: 120px;
height: 92px;
cursor: pointer;
position: relative;
-webkit-background-size: cover;
background-size: cover;
line-height: 92px;
text-align: center;
border: 1px SOLID #d2d2d2;
color: #d2d2d2;
float: left;
} .uploadImgBtn2 .uploadImg2{
position: absolute;
right:;
top:;
width: 100%;
height: 100%;
opacity:;
cursor: pointer;
}
</style>

<input type="hidden" id="cardImg2" />

<td>
<div class="uploadImgBtn2" id="uploadImgBtn2" style="background:#EBEBE4;">
<span>点击上传图片</span>
<img id="filImg2" hidden="hidden" />
<input type="file" name="file" id="loadFill2" class="uploadImg2" disabled />
</div>
<span class="uploadimgAdd2"></span>
</td>

后台代码:

public ActionResult UploadLargeImg(string ltlId, int type)
{
int result = ;
string lFilePath = "";
//Regex rx = new Regex("^[\u4E00-\u9FA5]+$");
if (!string.IsNullOrEmpty(ltlId))
{
try
{
HttpPostedFileBase imageName = Request.Files["file"];// 从前台获取文件
string filePath = "";
filePath = CSysCfg.lFilePath;
if (!Directory.Exists(filePath))
{
Directory.CreateDirectory(filePath);
}
string fileName = System.IO.Path.GetFileName(imageName.FileName);
string expendName = System.IO.Path.GetExtension(fileName);
string newFileName = "";
if (type == )
{
newFileName = "OpenImg" + ltlId + expendName;
}
else if (type == )
{
newFileName = "PowerImg" + ltlId + expendName;
}
else if (type == )
{
newFileName = "ManagerIdCardImg" + ltlId + expendName;
}
else if (type == )
{
newFileName = "BusinessLicenseImg" + ltlId + expendName;
}
else if (type == )
{
newFileName = "RoadTransportImg" + ltlId + expendName;
}
else if (type == )
{
newFileName = "DrivingLicenseImg" + ltlId + expendName;
}
else if (type == )
{
newFileName = "GoodsImg" + ltlId + expendName;
} lFilePath = Path.Combine(filePath, newFileName);
imageName.SaveAs(lFilePath);
result = ;
}
catch (Exception ex)
{
CSysCfg.WriteLog(ex.Message);
}
}
else
{
result = -;
} return Json(new { code = result, headerImgSrc = lFilePath });
}

前端调用:

layui.use('upload', function () {
var upload = layui.upload;
var uploadInst = upload.render({
elem: '#loadFill2',
method: 'POST',
auto: true,
size: 2048, //限制文件大小,单位 KB
url: '/BaseInfoPage/UploadLargeImg',//上传图片的接口
bindAction: '#uploadFill',
data: {
ltlId: function () {
return $('#ltl_Id').val();
},
type: function () {
return 1;
}
},
before: function (obj) {
//预读本地文件示例,不支持ie8
obj.preview(function (index, file, result) {
$(".uploadImgBtn2 span").text("");
$('#filImg2').attr('src', result).css({ "width": "100%", "height": "100%", "margin-left": "0px", "display": "block" }); //图片链接(base64)
});
}, done: function (data) {
$(".uploadimgAdd2").empty();
if (data.code == 1) {
$(".uploadImgBtn2").css("border", "1px solid #d2d2d2");
$(".uploadimgAdd2").append("<img src='/Images/validateTrue.png'/> 上传成功!");
$("#ltl_Id").attr("disabled", "disabled");
$("#cardImg2").val(data.headerImgSrc);
}
else if (data.code == -1) { $(".uploadimgAdd2").append("<img src='/Images/validateFalse.png'/> 请先输入申请编号,在上传!");
}
else {
$(".uploadimgAdd2").append("<img src='/Images/validateFalse.png'/> 上传失败!");
}
}
});
});

layui实现图片上传的更多相关文章

  1. .net mvc + layui做图片上传(二)—— 使用流上传和下载图片

    摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件.这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的 ...

  2. .net mvc + layui做图片上传(一)

    图片上传和展示是互联网应用中比较常见的一个功能,最近做的一个门户网站项目就有多个需要上传图片的功能模块.关于这部分内容,本来功能不复杂,但后面做起来却还是出现了一些波折.因为缺乏经验,对几种图片上传的 ...

  3. .Net之Layui多图片上传

    前言: 多图上传在一些特殊的需求中我们经常会遇到,其实多图上传的原理大家都有各自的见解.对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样,只不过是Layui中的up ...

  4. thinkphp5+layui多图片上传

    准备资料 下载layui <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  5. php+layui实现图片上传与预览

    端代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...

  6. layui 实现图片上传和预览

    [学习笔记] 图片不自动上传并在表单提交时再上传,看代码. 附上表单页面 前台实现 <#--图片名--><input id="fileName" type=&qu ...

  7. layui框架图片上传至服务器

    注意:只可用于数据量较小的项目,数据量庞大的项目不要用这个,否则会造成图片数量庞大,至服务器运行速度变慢或瘫痪 HTML代码 //前端使用的是layui框架<div class="la ...

  8. ThinkPHP5+Layui实现图片上传加预览

    html代码 <div class="layui-upload"> <button type="button" class="lay ...

  9. layui 富文本 图片上传 后端PHP接口

    <!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/ ...

随机推荐

  1. Netty 源码解析(五): Netty 的线程池分析

    今天是猿灯塔“365篇原创计划”第五篇. 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty 源码解析(一): 开始 Netty 源码解析(二): Netty 的 Channel Netty ...

  2. CSS3+JS实现静态圆形进度条

    一.实现原理 首先,我们来一个圆(黑色).接着,再来两个半圆,将黑色的圆遮住.(为了演示,左右两侧颜色不一样)这时候,我们顺时针旋转右侧蓝色的半圆,下面的黑色圆就会暴露出来,比如我们旋转45度(12. ...

  3. 神奇的建图方式(Tarjan)——小z玩游戏

    原题来自与:洛谷 P5676(GZOI2017)  链接: https://www.luogu.com.cn/problem/P5676 题面: 题意比较明显,如果已经建好了边,那么跑个Tarjan ...

  4. 从0开始,手把手教你用Vue开发一个答题App

    项目演示 项目演示 项目源码 项目源码 教程说明 本教程适合对Vue基础知识有一点了解,但不懂得综合运用,还未曾使用Vue从头开发过一个小型App的读者.本教程不对所有的Vue知识点进行讲解,而是手把 ...

  5. day55 js进阶

    目录 引子 一.BOM操作 1 window对象 2 window子对象 3 history对象 4 location对象(掌握) 5 弹出框 6 计时器相关 二.DOM操作 1 查找标签 1.1 直 ...

  6. CVE-2020-5902 简单复现

    这几天通报了f5的一个漏洞,想着先弄个环境保存着,说不定后面就用到了.. 1.漏洞描述 ​ 近日,F5官方发布公告,修复了流量管理用户界面(TMUI)中存在的一个远程代码执行漏洞(CVE-2020-5 ...

  7. 执行ArrayList的remove(object)方法抛异常?

    简介 或许有很多小伙伴都尝试过如下的代码: ArrayList<Object> list = ...; for (Object object : list) { if (条件成立) { l ...

  8. python基础之打/解包及运算符与控制流程

    python基础之打/解包及运算符与控制流程 python中的解压缩(即序列类型的打包和解包) python提供了两个设计元祖和其他序列类型的处理的便利,也就是自动打包与自动解包功能,比如: data ...

  9. spring security简单登录的认证

    一.思路 1.先导入相关配置(使用spring security校验之后,登录拦截的配置) 2.创建一个 WebSecurityConfig 继承 WebSecurityConfigurerAdapt ...

  10. SpringBoot学习笔记(十七:异步调用)

    @ 目录 1.@EnableAsync 2.@Async 2.1.无返回值的异步方法 2.1.有返回值的异步方法 3. Executor 3.1.方法级别重写Executor 3.2.应用级别重写Ex ...