KindEditor是一款优秀的开源HTML编辑器, 它的图片上传和浏览是利用插件的方式进行的。编辑器的参数中imageUploadJson定义了图片上传的后台程序地址, allowFileManager 定义了是否允许浏览服务器图片,fileManagerJson指定了浏览图片时后台程序地址。以下代码根据个人情况应该有所不同。
写道
{"error":1, "url":"URL"}图片上传成功返回的字符串
{"error":0} 上传失败返回的字符串
下面是KindEditor Demo里面后台地址返回的json字符串。图片浏览是通过plugins/file_manager/file_manager.js来解析服务器端返回的json字符串的。
由于我们的图片是通过paperclip来进行上传处理的,因此图片都是以一定格式比如/datas/:id/:style存放,而kindeditor的Demo中图片时存在在一个文件夹里的。通过阅读这个js文件,发现在服务器在返回时把图片的路径设置在dir_path里就可以一次返回不同文件夹里的图片。把moveup_dir_path、current_dir_path、current_url、total_count这几个参数也基本没有用处,可以直接54。我们直接返回需要用到的filename, filesize, dir_path和datetime就可以了,代码见下面。
写道
{"moveup_dir_path":"","current_dir_path":"","current_url":"\/ke\/php\/..\/attached\/",
"total_count":5,"file_list":[{"is_dir":false,"has_file":false,"filesize":208736,
"dir_path":"","is_photo":true,"filetype":"jpg",
"filename":"1241601537255682809.jpg","datetime":"2009-12-10 09:18:36"}]}
upload为访问imageUploadJson所定义的程序地址后台调用action,同理images_list为fileManagerJson所定义后台action,应根据个人配置做相应的调整。
#model
class Image < ActiveRecord::Base has_attached_file :data :style=>{:medium =>"300x300>", :thumb => "100x100>"}
end
#controller
class Admin::ImagesController < Admin::BaseController
protect_from_forgery :except => :upload
def upload
@image = Image.new(:data => params[:imgFile])
if @image.save
render :text => {"error" => 0, "url" => @image.data_url(:medium)}.to_json
else
render :text => {"error" => 1}
end
end
def images_list
@images = Image.all
@json = []
for image in @images
temp = %Q/{"filesize" : #{image.data_size},
"filename" : "#{image.filename}",
"dir_path" : "#{image.data_url(:small)}",
"datetime" : "#{image.created_at}"}/
@json << temp end render :text => ("{\"file_list\":[" << @json.join(", ") << "]}")
end
end
#plugins/file_manager/file_manager.js
#createView 以缩略图形式创建试图
#createList 以列表形式创建视图
#var fileUrl = result.current_url + data.filename; fileUrl为缩略图的地址,我们不返回current_url,因为替换如下
var fileUrl = result.dir_path
#无is_dir和is_photo返回,因为只是返回单一图片,可以直接设置
#var iconUrl = data.is_dir ? './images/folder-64.gif' : (data.is_photo ? fileUrl : './images/file-64.gif');
iconUrl = fileUrl
分享到:
相关推荐
通过上述内容,我们可以看到Paperclip为Rails应用中的文件上传提供了强大的功能和灵活性。无论是简单的图片上传还是复杂的文件管理,Paperclip都能轻松应对。在实际开发中,可以根据项目需求对这些知识点进行深入...
Paperclip - Responsive Professional Theme for Business Projects and Mobile Apps Perfect for business and personal use Built with LESS Looks great on all major browsers, tablets and phones 21 unique ...
可以在以下位置找到Paperclip以及PaperclipOptimizer的保养好的货叉: PaperclipOptimizer是一个处理器,用于优化和缩小上传的图像。 这仅仅是围绕一个瘦包装 ,它支持许多外部优化库如 , , , , , , , , ,...
paperclip-av-transcoder, 使用 ffmpeg/avconv的Paperclip 音频/视频转码器 Paperclip 转码器使用 ffmpeg/avconv的Paperclip 音频/视频转码器。这是( https://github.com/owahab/paperclip-ffmpeg )的替代品。状态
回形针 回形针旨在用作ActiveRecord的简单文件附件库。 其目的是使设置尽可能简单,并尽可能将文件与其他属性一样对待。 这意味着它们不会保存到磁盘上的... Paperclip现在需要Ruby版本> = 2.0.0和Rails版本3.2,> =
gem 'paperclip_torrent', github: "fattymiller/paperclip_torrent" 在模型中,正常设置has_attached_files ,包括:torrentify处理器,如下所示: has_attached_file :attachment, { styles: { audio_128kbps_...
氦,这里是回形针PaperClip内容收录仓库,你可以在这里找到往期节目的相关内容。 使用 在线浏览 目前,我们有以下站点供您在线浏览本仓库的内容。 GitHub页面 该站点由GitHub Actions自动构建并部署在GitHub Pages...
Paperclip 是 Rails 框架的一个插件,用于扩展 ActiveRecord 以支持简单的文件附件的功能。 标签:Paperclip
回形针上传到 S3 要求 aws-sdk 回形针 宝石安装 Gemfile gem ' aws-sdk ' gem ' paperclip ' 并运行 bundle install 创建 s3 这里 设置s3信息 从获取访问密钥和秘密密钥并将它们写好。 然后创建一个config/aws....
回形针水印描述这是一个简单的 Paperclip 处理器,用于在 Paperclip 的图像上应用水印。 水印将调整大小以适合基本图像。 很少有选项可用于指定位置和不透明度: watermark_distance_from_top : 以百分比指定从顶部...
在 Rails 4.0.0 上运行带有 AWS S3 演示的 Paperclip 教程这是一个教程和演示,用于获取在 Rails 4.0.0 上运行的带有 AWS S3 上传的 Paperclip。 在本教程中,我们将创建一个简单的站点,可以在其中创建文章并可以将...
这个 gem 使用常规文件系统存储提供程序和 ActiveRecord 通过自动附件加密扩展了 Paperclip。 安装 将此行添加到应用程序的 Gemfile 中: gem 'paperclip-storage-encrypted_filesystem', git: '...
每一个当您将应用程序部署到,您正在更改RAILS_ROOT,因此您所有上传的文件都将丢失,您的存储桶将一团糟! 默认的Heroku工作路径是默认路径。 如何使用 使用以下命令将宝石添加到您的Gemfile中 gem “paperclip-...
为了更好地利用 Paperclip,用户可以自定义配置其行为,根据个人工作习惯设置触发特定操作的条件。例如,你可以设定当剪贴板中出现特定类型链接时自动保存到指定文件夹,或者当复制特定格式的文本时,自动发送到某个...
大家对服务端应该都不陌生了,我就不多介绍了,主要是点击server.jre,需要用JAVA8 64位运行,然后稍等一会,会生成mod文件夹,运行配置同意elua协议就可以开服务器了
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...
DM-Paperclip是Thoughtbot的Paperclip插件的端口,可与DataMapper一起使用。 该插件与原始的面向ActiveRecord的回形针完全兼容。 您可以采用现有的ActiveRecord数据库并将其与DataMapper一起使用。 该模块还包括...
设定宝石文件gem "mongoid-paperclip" 接下来,假设我们有一个用户模型,并且我们希望允许我们的用户上传头像。 Rails.root / app / models / user.rb-包含Mongoid :: Paperclip模块并调用提供的类方法class User ...
将administrate-field-paperclip clipclip和kt-paperclip paperclip添加到您的Gemfile中: gem 'administrate-field-paperclip' gem 'kt-paperclip' 安装: $ bundle install 用法 按照上的开始使用模型和迁移。...
在视图层,PaperClip提供了一些便利的方法来显示和处理上传的文件。例如,你可以使用`image_tag`辅助方法来显示用户头像: ```erb ``` PaperClip也支持文件删除和更新。当模型实例被更新或删除时,相关的文件也会...