图片自动上传
This commit is contained in:
parent
e502aa7c43
commit
135e02504e
4
Gemfile
4
Gemfile
|
@ -1,4 +1,4 @@
|
||||||
source 'https://ruby.taobao.org'
|
source 'https://rubygems.org/'
|
||||||
#source 'http://ruby.sdutlinux.org/'
|
#source 'http://ruby.sdutlinux.org/'
|
||||||
|
|
||||||
unless RUBY_PLATFORM =~ /w32/
|
unless RUBY_PLATFORM =~ /w32/
|
||||||
|
@ -40,6 +40,8 @@ gem 'kaminari'
|
||||||
gem 'elasticsearch-model'
|
gem 'elasticsearch-model'
|
||||||
gem 'elasticsearch-rails'
|
gem 'elasticsearch-rails'
|
||||||
|
|
||||||
|
gem 'certified'
|
||||||
|
|
||||||
group :development do
|
group :development do
|
||||||
gem 'grape-swagger'
|
gem 'grape-swagger'
|
||||||
gem 'better_errors', '~> 1.1.0'
|
gem 'better_errors', '~> 1.1.0'
|
||||||
|
|
|
@ -5,7 +5,7 @@ PATH
|
||||||
rack (~> 1.5.1)
|
rack (~> 1.5.1)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
remote: https://ruby.taobao.org/
|
remote: https://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
byebug (4.0.5)
|
byebug (4.0.5)
|
||||||
columnize (= 0.9.0)
|
columnize (= 0.9.0)
|
||||||
|
|
|
@ -119,16 +119,41 @@ class Kindeditor::AssetsController < ApplicationController
|
||||||
render :text => @result.to_json
|
render :text => @result.to_json
|
||||||
end
|
end
|
||||||
|
|
||||||
|
#在KE里面复制粘贴的时候 把图片下载到服务器上
|
||||||
def uploadpic
|
def uploadpic
|
||||||
picstr = params["pic"];
|
picStr = params["pic"]
|
||||||
|
picArry = picStr.split("|")
|
||||||
|
|
||||||
picArry = picstr.split("|")
|
#图片存放目录
|
||||||
|
dirPath = "public/files/uploads/image/"
|
||||||
|
dirDate = Time.now.strftime('%Y%m')
|
||||||
|
|
||||||
picArry.each do |picurl|
|
unless Dir.exist?(dirPath+dirDate)
|
||||||
puts picurl
|
Dir.mkdir(dirPath+dirDate)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
fileStr = []
|
||||||
|
|
||||||
|
picArry.each_with_index do |picUrl,index|
|
||||||
|
imgBaseName = File.basename(picUrl)
|
||||||
|
tmpImgType = imgBaseName.split(".").last[0..2]
|
||||||
|
# 仅支持如下图片格式:bmp,jpeg,jpg,png,gif,BMP,JPEG,JPG,PNG,GIF
|
||||||
|
|
||||||
|
fileType = tmpImgType.match("gif|jpg|jpeg|png|bmp|BMP|JPEG|JPG|PNG|GIF")
|
||||||
|
|
||||||
|
fileName = fileType.nil? ? Time.now.to_i.to_s+index.to_s : Time.now.to_i.to_s+index.to_s+"."+fileType[0]
|
||||||
|
|
||||||
|
# fileType = File.basename(picurl).split(".").last[0..2]
|
||||||
|
# fileName = Time.now.to_i.to_s+index.to_s
|
||||||
|
fileDir = dirPath + dirDate + "/"+fileName
|
||||||
|
|
||||||
|
#重点!!
|
||||||
|
File.open(fileDir,'wb'){ |f| f.write(open(picUrl).read) }
|
||||||
|
fileDir = fileDir.split("public")[1]
|
||||||
|
fileStr = filedir + "|"
|
||||||
|
|
||||||
|
end
|
||||||
|
render :text =>fileStr
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -4689,7 +4689,6 @@ function _bindNewlineEvent() {
|
||||||
});
|
});
|
||||||
K(doc).keyup(function(e) {
|
K(doc).keyup(function(e) {
|
||||||
if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {
|
if (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {
|
||||||
df();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (newlineTag == 'br') {
|
if (newlineTag == 'br') {
|
||||||
|
@ -5995,6 +5994,9 @@ _plugin('core', function(K) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
self.insertHtml(html, true);
|
self.insertHtml(html, true);
|
||||||
|
df();
|
||||||
|
|
||||||
|
// $("#ajax-indicator").hide();
|
||||||
}
|
}
|
||||||
K(doc.body).bind('paste', function(e){
|
K(doc.body).bind('paste', function(e){
|
||||||
if (self.pasteType === 0) {
|
if (self.pasteType === 0) {
|
||||||
|
|
|
@ -354,16 +354,7 @@ function enablePasteImg(_editor) {
|
||||||
};
|
};
|
||||||
|
|
||||||
function df() {
|
function df() {
|
||||||
var haspicContainer = document.getElementById("has_pic");
|
|
||||||
if (haspicContainer == null) {
|
|
||||||
haspicContainer = document.createElement("div");
|
|
||||||
haspicContainer.id = "has_pic";
|
|
||||||
haspicContainer.innerHTML = "<input type='text' id='piclist' value='' style='display:none;'/><div id='upload'><b>您有图片需要上传到服务器</b> <a href='javascript:uploadpic();' >上传</a></div><div id='confirm'></div>";
|
|
||||||
$(".ke-toolbar").after(haspicContainer);
|
|
||||||
}
|
|
||||||
|
|
||||||
var img = $(".ke-edit-iframe").contents().find("img");
|
var img = $(".ke-edit-iframe").contents().find("img");
|
||||||
|
|
||||||
var piccount = 0;
|
var piccount = 0;
|
||||||
var sstr = "";
|
var sstr = "";
|
||||||
$(img).each(function (i) {
|
$(img).each(function (i) {
|
||||||
|
@ -376,26 +367,17 @@ function df() {
|
||||||
sstr += that.attr("src") + "|";
|
sstr += that.attr("src") + "|";
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
uploadpic(sstr);
|
||||||
$("#piclist").val(sstr);
|
|
||||||
document.getElementById("has_pic").style.display = (piccount > 0) ? "block" : "none";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function closeupload() {
|
function uploadpic(piclist) {
|
||||||
$("#has_pic").hide();
|
|
||||||
$("#upload").show();
|
|
||||||
}
|
|
||||||
|
|
||||||
function uploadpic() {
|
|
||||||
var piclist = encodeURI($("#piclist").val());
|
|
||||||
if (piclist.length == 0) return false;
|
if (piclist.length == 0) return false;
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/kindeditor/uploadpic",
|
url: "/kindeditor/uploadpic",
|
||||||
data: "pic=" + piclist,
|
data: "pic=" + piclist,
|
||||||
type: "GET",
|
type: "GET",
|
||||||
beforeSend: function () {
|
beforeSend: function () {
|
||||||
$("#upload").hide();
|
$("#ajax-indicator").text("图片上传中请稍等...");
|
||||||
$("#confirm").text("正在上传中...");
|
|
||||||
},
|
},
|
||||||
success: function (msg) {
|
success: function (msg) {
|
||||||
if (msg !== "") {
|
if (msg !== "") {
|
||||||
|
@ -403,17 +385,19 @@ function uploadpic() {
|
||||||
str = msg.split('|');
|
str = msg.split('|');
|
||||||
var img = $(".ke-edit-iframe").contents().find("img");
|
var img = $(".ke-edit-iframe").contents().find("img");
|
||||||
|
|
||||||
|
var tIndex = 0;
|
||||||
$(img).each(function (i) {
|
$(img).each(function (i) {
|
||||||
var that = $(this);
|
var that = $(this);
|
||||||
if (that.attr("src").indexOf("http://") >= 0 || that.attr("src").indexOf("https://") >= 0) {
|
if (that.attr("src").indexOf("http://") >= 0 || that.attr("src").indexOf("https://") >= 0) {
|
||||||
that.attr("src", "/uploads/image/" + str[i]);
|
that.attr("src", str[tIndex]);
|
||||||
that.attr("data-ke-src", "/uploads/image/" + str[i]);
|
that.attr("data-ke-src", str[tIndex]);
|
||||||
|
that.parent().attr("href", str[tIndex]);
|
||||||
|
that.parent().attr("data-ke-src", str[tIndex]);
|
||||||
|
tIndex = tIndex + 1;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$("#confirm").html(img.length + "张图片已经上传成功! <a href='javascript:closeupload();'>关闭</a>");
|
|
||||||
}
|
}
|
||||||
else $("#confirm").text("上传失败!");
|
// else $("#confirm").text("上传失败!");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue