kindeditor上传图片php,kindeditor图片上传功能

KindEditor是一款用Javascript编写的开源在线HTML编辑器,主要用户是让用户在网站上获得可见即可得的编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框

使用到官网下载 KindEditor 最新版本,解压后将所有文件拷贝到项目的static文件夹下。注意,可以根据需要删除以下目录:asp - ASP程序

asp.net - ASP.NET程序

php - PHP程序

jsp - JSP程序

examples - 演示文件

HTML模板中需要显示富文本编辑器的位置添加标签:文章内容

添加脚本,引入KindEditor JS文件,为指定标签创建富文本编辑器。这里主要说使用KindEditor 上传图片时的必要参数:

var options = {

resizeType: 0,

uploadJson: "/upload/", //指定图片上传的url路径,server端写一个视图来处理上传的图片

extraFileUploadParams: { "csrfmiddlewaretoken": "{{ csrf_token }}"

}

};

KindEditor.create("#article_body", options); //为指定元素创建富文本编辑器

说明:图片上传要通过uploadJson参数指定上传的url路径

extraFileUploadParams参数用于提交csrf验证

图片的上传和预览流程:在富文本编辑器中选择上传图片

KindEditor 将图片通过AJAX的方式上传到服务器指定url

该url对应的视图函数保存图片,并返回包含图片服务器路径的json响应

KindEditor 拿到响应的图片路径后,通过标签的src属性,显示预览图片

Django中的代码实现:from django.conf.urls import urlfrom app import views

urlpatterns = [

url(r'^upload/$', views.upload_file, name='upload_file'),

url(r'^media/(?P.*)$', serve, {'document_root': settings.MEDIA_ROOT}), # 配置media路由]def upload_file(request):

# 拿到文件,保存在指定路径

print(request.FILES) # {'imgFile': []}

imgFile = request.FILES.get('imgFile') # 拿到文件对象,imgFile.name, 拿到文件名

with open('app01/media/upload/img/'+imgFile.name,'wb')as f: # with open 无法创建文件夹,需要自己创建

for chunk in imgFile.chunks():

f.write(chunk) # 返回json响应

response = {

'error': 0, 'url': '/media/upload/img/'+imgFile.name # 客户端拿到路径,才能预览图片; media在setting中配置了别名,这里只写media,客户端就可以找到路径,前面不需要加/app

} return HttpResponse(json.dumps(response))

说明:request.FILES中拿到图片对象

imgFile.name拿到文件名

必须返回包含error和url的json响应

定义保存图片的视图函数

配置media(参考博客)并定义路由

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值