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/ ...
随机推荐
- API测试之Postman使用全指南(原来使用 Postman测试API如此简单)
Postman Postman是一个可扩展的API开发和测试协同平台工具,可以快速集成到CI/CD管道中.旨在简化测试和开发中的API工作流. Postman 工具有 Chrome 扩展和独立客户端, ...
- 【第五空间智能安全大赛】hate_php WriteUp
环境:https://www.ctfhub.com/#/challenge 打开题目可以看到源码: 阅读源码发现过滤掉了f l a g . p h / ; " ' ` | [ ] _ =这些 ...
- 【ASP.NET Core】mdl conflicts with tinymce
When I implementd the popular Richtext Editor tinymce for this web application, it conflicts with ma ...
- C#利用反射实现简单记事本功能插件
效果图: 源码下载:https://github.com/doyoulaikeme/DotNetSample
- Centos8 - 图形界面和命令行切换
查看目前默认的启动方式 systemctl get-default 命令行模式:multi-user.target 图形界面模式:graphical.target 设置为图形界面模式 systemct ...
- 安装更强大更美观的zsh,配置oh my zsh及插件
安装更强大更美观的zsh,配置oh my zsh及插件 #0x0 安装zsh #0x1 安装oh my zsh #0x2 配置zshrc #0x3 配置主题 #0x4 安装插件 #0x5 小结 #0x ...
- Python 图像处理 OpenCV (13): Scharr 算子和 LOG 算子边缘检测技术
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- STM32的启动方式
STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1. 用户闪存=芯片内置的Flash. 2. SRAM=芯片内置的RAM区,就是内存啦. 3. 系统存储器system memory=芯片 ...
- 数据可视化之powerBI基础(十九)学会使用Power BI的参数,轻松搞定动态分析
https://zhuanlan.zhihu.com/p/55295072 静态的分析经常不能满足实际分析的需要,还需要引入动态分析,通过调节某个维度的增减变化来观察对分析结果的影响.在PowerBI ...
- 在spyder中无法import module
如果在anaconda中下载安装了模块,但是在spyder中无法import,可能是因为两个python环境并不一致,在promote重新conda install spyder即可