作者:极客小俊」
「 把逻辑思维转变为代码的技术博主」
咱们废话不多说直接上代码案例素材!
首先准备图片素材 放入到你的demo案例下的img文件夹
当然图片你也可以用其他类似的图来代替也是可以的!
如图
<div id="big">
<div class="box">
<div class="pic"><img src="img/bag.jpg" alt="" title=""/></div>
<div class="mask">
<h2>三用小巧思波士顿包</h2>
<p>印花波士顿包 复古波士顿包,手提单肩斜挎多用,印花PVC</p>
</div>
<div class="title">
<h2 class="sl"><span></span>全场2折起 印花波士顿包 专柜终身保养</h2>
<h3 class="sl"><i></i><span>抢全场2件88折</span>新款蜜蜂系列印花手提斜挎包</h3>
<div class="price">
<div class="zx_pr"><span>¥</span>659</div>
<div class="xl_yp">
<p><del>¥1998.00</del><span>退货赔运费</span></p>
<p><strong>70</strong>件已付款</p>
</div>
<div class="buy">抢!</div>
</div>
</div>
</div>
<div class="box">
<div class="pic"><img src="img/bag3.jpg" alt="" title=""/></div>
<div class="mask">
<h2>猪年纪念款经典牛皮水桶包</h2>
<p>猪年纪念款 经典牛皮水桶包,自带强大气场</p>
</div>
<div class="title">
<h2 class="sl"><span></span>全场2折起 印花波士顿包 专柜终身保养</h2>
<h3 class="sl"><i></i><span>抢全场2件88折</span>新款蜜蜂系列印花手提斜挎包</h3>
<div class="price">
<div class="zx_pr"><span>¥</span>659</div>
<div class="xl_yp">
<p><del>¥1998.00</del><span>退货赔运费</span></p>
<p><strong>70</strong>件已付款</p>
</div>
<div class="buy">抢!</div>
</div>
</div>
</div>
<div class="box">
<div class="pic"><img src="img/bag4.jpg" alt="" title=""/></div>
<div class="mask">
<h2>一包四用蜜蜂系列迷你小方包</h2>
<p>四用方盒包 一包四用蜜蜂系列迷你链条小方包</p>
</div>
<div class="title">
<h2 class="sl"><span></span>全场2折起 印花波士顿包 专柜终身保养</h2>
<h3 class="sl"><i></i><span>抢全场2件88折</span>新款蜜蜂系列印花手提斜挎包</h3>
<div class="price">
<div class="zx_pr"><span>¥</span>659</div>
<div class="xl_yp">
<p><del>¥1998.00</del><span>退货赔运费</span></p>
<p><strong>70</strong>件已付款</p>
</div>
<div class="buy">抢!</div>
</div>
</div>
</div>
</div>
*{
padding:0px;
margin:0px;
}
body{
font-family: '微软雅黑';
}
.sl{
white-space: nowrap;
word-break: keep-all;
text-overflow: ellipsis;
}
#big{
width:950px;
height:416px;
margin:10px auto;
overflow: hidden;
}
#big>.box{
width:298px;
height:410px;
float: left;
position: relative;
overflow: hidden;
border:1px solid #ccc;
margin-left:19px;
}
#big>.box:first-child{
margin-left:0px;
}
#big>.box>.pic{
width:298px;
height:300px;
overflow: hidden;
}
#big>.box>.pic>img{
transition: all 500ms;
}
#big>.box:hover>.pic>img{
transform: scale(1.5);
}
#big>.box>.mask{
height:300px;
width:298px;
position: absolute;
left:-298px;
top:0px;
background:rgba(0,0,0,0.3);
transition: all 600ms;
color:#fff;
}
#big>.box>.mask>h2{
font-size: 18px;
margin:80px 0px 10px 10px;
}
#big>.box>.mask>p{
font-size: 12px;
margin:0px 0px 10px 10px;
}
#big>.box:hover>.mask{
left:0px;
}
#big>.box>.title>h2{
margin:10px auto;
width:288px;
height:20px;
line-height: 20px;
font-size: 14px;
color:#333;
overflow: hidden;
font-weight: normal;
}
#big>.box>.title>h2>span{
display: inline-block;
width:31px;
height:16px;
vertical-align: middle;
background: url('img/tu.png') no-repeat;
background-size:cover;
margin-right:5px;
}
#big>.box>.title>h3{
width:288px;
height:20px;
margin:0px auto;
font-size: 12px;
color:#666;
font-weight: 400;
}
#big>.box>.title>h3>i{
width:12px;
height:16px;
display: inline-block;
background:url('img/tu1.jpg') no-repeat;
vertical-align: middle;
}
#big>.box>.title>h3>span{
color:#f00;
margin:0 5px 0 5px;
}
#big>.box>.title>.price{
width:298px;
height:50px;
background:#e61414;
}
#big>.box>.title>.price>.zx_pr>span{
font-size: 20px;
}
#big>.box>.title>.price>.zx_pr{
width:83px;
height:50px;
line-height: 50px;
float: left;
margin-left:2px;
vertical-align: bottom;
font-size:38px;
color:#fff;
}
#big>.box>.title>.price>.buy{
width:56px;
height:50px;
line-height: 50px;
text-align: center;
background:url('img/tu3.png') no-repeat;
float:right;
color:#f00;
}
#big>.box>.title>.price>.xl_yp{
width:145px;
height:41px;
float: left;
margin:4px 0 0 8px;
font-size: 12px;
color:#fff;
}
#big>.box>.title>.price>.xl_yp>p>span{
margin-left:4px;
width:72px;
height:17px;
display: inline-block;
line-height: 17px;
text-align: center;
border-radius: 10px;
background:#ffb369;
}
#big>.box>.title>.price>.xl_yp>p:nth-child(2){
width:80px;
height:20px;
line-height: 20px;
text-align: center;
border-radius: 1px;
margin-top:5px;
background:rgba(0,0,0,0.2);
}
#big>.box>.title>.price>.xl_yp>p:nth-child(2)>strong{
margin-right: 5px;
font-size: 14px;
}
如图
"点赞" "✍️评论" "收藏"
大家的支持就是我坚持创作下去的动力!
如果以上内容有任何错误或者不准确的地方,欢迎在下面 留个言指出、或者你有更好的想法,欢迎一起交流学习❤️❤️❤️❤️❤️
TML编辑器 复制WORD里面带图文的文章,图片可以直接显示,JSP – 支持WORD上传的富文本编辑器,EWEBEDITOR 从WORD中复制内容带多张图片,如何从WORD文档复制公式到富文本编辑器,复制word图片,从word中复制图片,
从word中粘贴图片,粘贴word内容,粘贴word图片,粘贴word图文,复制粘贴word文档,复制粘贴word图片,复制粘贴word图文,复制粘贴word内容,
之前在网上找过相关的资料,论坛里面也有网友交流过,还加过不少QQ群和微信群,但是结果都不太令人满意。相关的文章提问的人多,能够给出方案的人少,能够给出成熟产品的就更少了,说的直接一点根本就没有,纯属浪费时间。要示例没示例,要代码没代码,根本就用不了,
有几个方面的原因吧,一个是网上的资料提的一些都是开源的方案,也不是说开源的方案不行,关键是提到的这些方案,公司项目组去评估发现联系不到开发人员,而且方案本身也停止更新了,处于没有人维护的状态,所以项目组这边不太敢用。主要是之前在这块也踩过坑。
客户那边也不差这点钱,之前公司项目组就是在这块踩过坑,用了开源的方案,客户那边提了一个新需求,但是由于项目组对产品本身并不熟悉,导致没办法进行二次开发。
从word中复制图片和文字内容,然后粘贴到web富文本编辑器中,粘贴后word图片自动上传到web服务器中,自动将图片和文字HTML添加到编辑器中,保留word中的文字格式,文字颜色,字体,样式,
用户发布新闻的时候是从word里面复制图片和文字,然后将word图文内容粘贴到web富文本编辑器中,希望能够将word的图片自动上传到服务器中,服务器地址能够自定义,
后端的话需要支持任意开发语言,比如ASP,ASP.NET,JSP,PHP,PYTHON等。只要是基于标准HTTP协议的都要支持。如果能够不装控件最好,视频教程:https://www.ixigua.com/7233953214108795407
1.下载示例:
http://www.ncmem.com/webapp/wordpaster/versions.aspx
2.复制WordPaster插件目录
3.引入插件文件
注意:不要重复引入jquery,如果您的项目已经引入了jq,则不用再引入jq-1.4
4.在工具栏中增加插件按钮
6.初始化控件
注意:
1.如果接口字段名称不是file,请配置FileFieldName。ueditor接口中使用的upfile字段
参考:http://www.ncmem.com/doc/view.aspx?id=c3ad06c2ae31454cb418ceb2b8da7c45
2.如果接口返回JSON,请配置ImageMatch
参考:http://www.ncmem.com/doc/view.aspx?id=07e3f323d22d4571ad213441ab8530d1
3.如果接口返回的图片地址没有域名,请配置ImageUrl
参考:http://www.ncmem.com/doc/view.aspx?id=704cd302ebd346b486adf39cf4553936
4.如果接口有权限验证(登陆验证,SESSION验证),请配置COOKIE。或取消权限验证。
参考:http://www.ncmem.com/doc/view.aspx?id=8602DDBF62374D189725BF17367125F3
效果
订阅版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAw70JsA8m
政企版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuqJtN30#/
年费版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwFouDIB4#/
OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwV00mQSY
产品源代码:https://drive.weixin.qq.com/s?k=ACoAYgezAAwz13B5Tr
授权码生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwzYuEEY1
JavaScript中,您可以使用HTML5的<input type="file">元素来实现图片上传功能。
以下是一个简单的示例代码,演示如何在JavaScript中上传图片:
HTML部分:
<input type="file" id="uploadInput">
<button onclick="uploadImage()">上传图片</button>
JavaScript部分:
function uploadImage() {
var fileInput = document.getElementById('uploadInput');
var file = fileInput.files[0];
if (file) {
var formData = new FormData();
formData.append('image', file);
// 发送图片数据到服务器
// 这里可以使用XMLHttpRequest或fetch等方法发送请求
// 请根据您的需求选择适当的方法
// 示例中使用XMLHttpRequest发送POST请求
var xhr = new XMLHttpRequest();
xhr.open('POST', '/upload', true);
xhr.onload = function() {
if (xhr.status === 200) {
// 上传成功
console.log('图片上传成功');
} else {
// 上传失败
console.log('图片上传失败');
}
};
xhr.send(formData);
}
}
API部分:
[HttpPost]
[RequestSizeLimit(5242880)]
public async Task<APIResult> upload(IFormCollection collection)
{
APIResult rtn = new APIResult();
if (collection == null)
{
rtn.code = -100;
rtn.msg = "图片列表为空";
return rtn;
}
else
{
try
{
string file_path = "";
// 预处理 用户参数:用户指定子路径
string userPath = DateTime.Now.ToString("yyyy-MM-dd");
if (collection.ContainsKey("path"))
{
collection.TryGetValue("path", out Microsoft.Extensions.Primitives.StringValues val);
if (!val.Equals("undefined"))
{
userPath = val.ToString();
}
}
// 预处理 文件路径
// 注意:这里可能会根据不同的环境来 修改 路径前面是否需要添加 /
// 当发现上传不成功,目录无法创建时,可以尝试修改这里
file_path = $"upload/imgs/{userPath}/";
var uploadPath = Path.Combine(_webHostEnvironment.WebRootPath, file_path);
if (!Directory.Exists(uploadPath))
{
Directory.CreateDirectory(uploadPath);
}
// 处理文件
FormFileCollection filelist = (FormFileCollection)collection.Files;
foreach (IFormFile file in filelist)
{
// 保存文件到磁盘
string name = file.FileName;
string FilePath = Path.Combine(uploadPath, name);
string type = Path.GetExtension(name);
using (var stream = System.IO.File.Create(FilePath))
{
await file.CopyToAsync(stream);
};
// 保存文件信息到表
Sys_File f = new Sys_File();
f.code = "image";
f.name = name;
f.file_type = type.Trim('.');
f.file_group = userPath;
f.file_path = $"/{file_path}{name}";
f.is_active = true;
f.memo = "";
f.createTime = DateTime.Now;
using (var dbctx = DBHelper.db)
{
await dbctx.AddAsync(f);
await dbctx.SaveChangesAsync();
};
// 返回消息,包含文件路径
rtn.datas = $"/{file_path}{name}";
rtn.code = 100;
rtn.msg = "文件已保存!";
}
}
catch (Exception ex)
{
rtn.code = -200;
rtn.msg = "图片保存失败!";
Log4NetUnit.Instance.Log.Error("图片保存失败:" + ex.Message);
}
return rtn;
}
}
在这个示例中,我们首先在HTML中创建了一个<input type="file">元素,用于选择要上传的图片。
然后,我们在JavaScript中编写了一个uploadImage函数,该函数在点击"上传图片"按钮时触发。
在uploadImage函数中,我们首先获取到<input>元素,并从中获取到用户选择的图片文件。
然后,我们创建一个FormData对象,并将图片文件添加到其中。
接下来,我们可以使用XMLHttpRequest或fetch等方法将图片数据发送到服务器。
在示例中,我们使用XMLHttpRequest发送了一个POST请求,将图片数据作为FormData发送到/upload端点。
您需要根据您的实际情况修改URL和请求方法。
当请求完成时,我们可以根据响应的状态码来判断上传是否成功。
在示例中,如果状态码为200,则表示上传成功,否则表示上传失败。
请注意,由于安全性限制,JavaScript无法直接访问用户的文件系统。
因此,用户必须手动选择要上传的文件。
*请认真填写需求信息,我们会在24小时内与您取得联系。