layui实现图片上传
页面代码:
<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实现图片上传的更多相关文章
- .net mvc + layui做图片上传(二)—— 使用流上传和下载图片
摘要:上篇文章写到一种上传图片的方法,其中提到那种方法的局限性,就是上传的文件只能保存在本项目目录下,在其他目录中访问不到该文件.这与浏览器的安全性机制有关,浏览器不允许用户用任意的路径访问服务器上的 ...
- .net mvc + layui做图片上传(一)
图片上传和展示是互联网应用中比较常见的一个功能,最近做的一个门户网站项目就有多个需要上传图片的功能模块.关于这部分内容,本来功能不复杂,但后面做起来却还是出现了一些波折.因为缺乏经验,对几种图片上传的 ...
- .Net之Layui多图片上传
前言: 多图上传在一些特殊的需求中我们经常会遇到,其实多图上传的原理大家都有各自的见解.对于Layui多图上传和我之前所说的通过js获取文本框中的文件数组遍历提交的原理一样,只不过是Layui中的up ...
- thinkphp5+layui多图片上传
准备资料 下载layui <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- php+layui实现图片上传与预览
端代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <titl ...
- layui 实现图片上传和预览
[学习笔记] 图片不自动上传并在表单提交时再上传,看代码. 附上表单页面 前台实现 <#--图片名--><input id="fileName" type=&qu ...
- layui框架图片上传至服务器
注意:只可用于数据量较小的项目,数据量庞大的项目不要用这个,否则会造成图片数量庞大,至服务器运行速度变慢或瘫痪 HTML代码 //前端使用的是layui框架<div class="la ...
- ThinkPHP5+Layui实现图片上传加预览
html代码 <div class="layui-upload"> <button type="button" class="lay ...
- layui 富文本 图片上传 后端PHP接口
<!DOCTYPE html> <html> <head> <link rel="stylesheet" type="text/ ...
随机推荐
- pycharm连接远程服务器(拉取版本)
pycharm连接远程服务器(拉取版本) 有这篇教程是因为,博主有两个办公地点,想着在办公地点A上传代码到服务器并调试,并在B时候可以拉取这份代码,并进行调试.因此有这篇拉取版本的博客,之前还有上传版 ...
- JSOI BZOJ4472 salesman
题目传送门 题目大意 某售货员小T要到若干城镇去推销商品,由于该地区是交通不便的山区,任意两个城镇之间都只有唯一的可能经过其它城镇的路线. 小T 可以准确地估计出在每个城镇停留的净收益.这些净收益可能 ...
- C# 跨平台UI 技术
构建跨平台应用程序的的几种UI技术,以C# 或者其他基于.NET的 语言(诸如:Visual Basic[VB]).本文研究了三种跨平台技术,并讨论了在哪些情况下开发人员可以使用这些技术.本文使你对可 ...
- Django---进阶2
目录 数据的查,改,删 django orm中如何创建表关系 django请求生命周期流程图(必会) 路由层 路由匹配 无名分组 有名分组 无名有名是否可以混合使用 反向解析 作业 数据的查,改,删 ...
- 使用@AutoConfigureBefore、After、Order调整Spring Boot自动配置顺序
前言 Spring Boot是Spring家族具有划时代意义的一款产品,它发展自Spring Framework却又高于它,这种高于主要表现在其最重要的三大特性,而相较于这三大特性中更为重要的便是Sp ...
- java动态代理基本原理及proxy源码分析一
本系列文章主要是博主在学习spring aop的过程中了解到其使用了java动态代理,本着究根问底的态度,于是对java动态代理的本质原理做了一些研究,于是便有了这个系列的文章 为了尽快进入正题,这里 ...
- Prometheus + Grafana 监控(mysql 和redis)
1.监控MySQL(mysqld-exporter) https://github.com/prometheus/mysqld_exporter/releases/download/v0.11.0/m ...
- shell专题(二):Shell解析器
(1)Linux提供的Shell解析器有: [atguigu@hadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /bin/da ...
- Swift开发笔记
Swift开发笔记(一) 刚开始接触XCode时,整个操作逻辑与Android Studio.Visual Studio等是完全不同的,因此本文围绕IOS中控件的设置.事件的注册来简单的了解IOS开发 ...
- 关于PowerShell调用Linq的一组实验
Windows PowerShell 版权所有 (C) Microsoft Corporation.保留所有权利. 尝试新的跨平台 PowerShell https://aka.ms/pscore6 ...