作者:極客小俊」
「 把邏輯思維轉變為代碼的技術博主」
咱們廢話不多說直接上代碼案例素材!
首先準備圖片素材 放入到你的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小時內與您取得聯系。