前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >tinymce图片上传

tinymce图片上传

作者头像
py3study
发布于 2021-04-16 02:25:13
发布于 2021-04-16 02:25:13
5.9K07
代码可运行
举报
文章被收录于专栏:python3python3
运行总次数:7
代码可运行

一、概述

对于上传图片功能,tinymce提供了很多相关配置http://tinymce.ax-z.cn/configure/file-image-upload.php

这里我们对其中的自定义上传图片进行简单的讲解,需要用到images_upload_url属性。

二、更改配置

在上一篇文章中,链接如下:https://www.cnblogs.com/xiao987334176/p/14596776.html

已经实现了tinymce的安装和使用,打开页面,点击图片上传。

弹出框

 注意:默认只能插入一个浏览器能访问到图片地址。

如果我需要上传本地文件,怎么办呢?修改初始化配置

以上一篇文章中的tinymce_demo项目为例,修改文件src/components/Tinymce/index.vue

增加images_upload_url属性

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
...
window.tinymce.init({
    images_upload_url: 'http://127.0.0.1:8000/file/excel_upload/',
    language: this.language,
...

注意:images_upload_url就是指后端api图片上传地址。

关于这个api接口,我采用的是django项目开发的,参考链接:https://www.cnblogs.com/xiao987334176/p/14361854.html

注意:需要修改一下视图函数才能使用。

修改api/views.py,完整内容如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from rest_framework.views import APIView
from upload_demo import settings
from django.shortcuts import render, redirect, HttpResponse
from django.http import JsonResponse
from rest_framework import status
import os
import uuid


class File(APIView):
    def post(self, request):
        print(request.FILES)
        # 接收文件
        file_obj = request.FILES.get('file', None)
        print("file_obj", file_obj.name)

        # 判断是否存在文件夹
        head_path = os.path.join(settings.BASE_DIR,'static')
        print("head_path", head_path)
        # 如果没有就创建文件路径
        if not os.path.exists(head_path):
            os.makedirs(head_path)

        # 判断文件大小不能超过5M
        if file_obj.size > 5242880:
            return JsonResponse({'status': status.HTTP_403_FORBIDDEN, 'msg': '文件过大'},
                                status=status.HTTP_403_FORBIDDEN)

        # 文件后缀
        suffix = file_obj.name.split(".").pop()
        print("文件后缀", suffix)  # 图片后缀 png

        # 判断文件后缀
        # suffix_list = ["xlsx","xls"]
        # if suffix not in suffix_list:
        #     return JsonResponse({'status': status.HTTP_403_FORBIDDEN, 'msg': '只能选择excel文件'},
        #                         status=status.HTTP_403_FORBIDDEN)

        # 重命名文件名
        file_name = '%s.%s'%(uuid.uuid4(),suffix)
        print("file_name",file_name)
        # 储存路径
        file_path = os.path.join(head_path,file_name)
        print("储存路径", file_path)

        # 写入文件到指定路径
        with open(file_path, 'wb') as f:
            for chunk in file_obj.chunks():
                f.write(chunk)

        data = {}
        data['status'] = status.HTTP_200_OK
        data['name'] = file_name
        data['location'] = "http://127.0.0.1:8000/static/{}".format(file_name)
        return JsonResponse(data, status=status.HTTP_200_OK)

注意:api返回的json中,必须包含location字段,比如:{ "location": "folder/sub-folder/new-location.png" }

我返回的api信息如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{'status': 200, 'name': '448c0db3-4162-4330-9981-eae1960606eb.jpg', 'location': 'http://127.0.0.1:8000/static/039f4e72-097e-4a2c-b0dc-2539f78eb325.jpg'}

多几个字段无所谓,只要有location就行。

三、上传文件

再次点击图片上传,会发现多了一个上传选项

选择一张图片,注意:上传成功后,会显示图片像素大小。如下图:

点击确定,效果如下:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/04/14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【Django组件】UNIAPP+DJANGO 多图像上传 + 后端接口接受 uView组件(转载)
VUE文件: <template> <!-- 提交图片 --> <view class="cu-card article"> <view class="cu-item shadow" style="background-color: transparent;"> <u-upload ref="uUpload" :action="action" :auto-upload="false" nam
小海怪的互联网
2022/04/02
4630
Django实战-服务端图片上传
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/09/03
1.9K2
Django实战-服务端图片上传
.net mvc + layui做图片上传(一)
  图片上传和展示是互联网应用中比较常见的一个功能,最近做的一个门户网站项目就有多个需要上传图片的功能模块。关于这部分内容,本来功能不复杂,但后面做起来却还是出现了一些波折。因为缺乏经验,对几种图片上传的方法以及使用范围和优缺点都不太了解,导致在做相关功能时也确实走了一些弯路。
CherishTheYouth
2019/07/30
1.5K0
.net mvc + layui做图片上传(一)
Flask图像云端存储打造简洁高效的图片上传站点
在网络应用程序中,实现图片上传功能是一项常见的需求。Flask框架提供了简单而灵活的工具,使得构建这样的功能变得相对简单。本文将介绍如何使用Flask框架创建一个简单的图片上传站点,以及其中涉及的关键技术和步骤。
一键难忘
2024/05/16
1870
ElementUI 上传文件以及限制
一、概述 现有项目中,涉及文件上传。要求: 1. 文件必须是excel 2. 只能上传1个文件 3. 文件大小不能超过5M  二、Upload 上传 注意:ElementUI Upload 上传,需要
py3study
2021/03/02
4.5K0
ElementUI 上传文件以及限制
Rust:axum学习笔记(4) 上传文件
接上一篇继续,上传文件是 web开发中的常用功能,本文将演示axum如何实现图片上传(注:其它类型的文件原理相同),一般来说要考虑以下几个因素:
菩提树下的杨过
2022/04/27
2.5K1
Rust:axum学习笔记(4) 上传文件
使用Django快速搭建reportServer
最近想开发一个基础的服务(reportServer), 提供管理测试报告的相关功能
我是胖虎啊
2022/12/20
2640
使用Django快速搭建reportServer
垃圾识别系统Python+TensorFlow+Django网页平台+深度学习模型【完整代码】
垃圾识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对5种垃圾数据集进行训练,最后得到一个识别精度较高的模型。并基于Django,开发网页端操作平台,实现用户上传一张垃圾图片识别其名称。
子午Python
2023/07/08
3960
Python 文件读写操作记录
# coding=utf-8 import os # 此文件只为记录方法,不可直接执行 # read ++++++++++++++++++++++++++++++++++++++++++++++++++ file_name = "test.txt" file_path = os.getcwd() + os.sep + "data" + os.sep + file_name file_obj = open(file_path, "r") # 读取所有内容------------------------
白墨石
2021/01/13
4340
Django 实现文件上传下载API
by:授客 QQ:1033553122 欢迎加入全国软件测试交流QQ群:7156436
授客
2020/09/01
2.2K0
博客中KindEditor配置[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
7430
博客中KindEditor配置[通俗易懂]
linux下php导入带图片的word文档转为html,图片保存下来生成路径。
如果出现异常,在页面上不一定表现出来,而是页面卡着一直没响应,通过apache日志看到相关错误
用户8824291
2021/07/13
1.5K0
Laravel+Layer 图片上传功能整理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/78961365
泥豆芽儿 MT
2018/09/11
2K0
Laravel+Layer 图片上传功能整理
Flask 实现简单的图片上传
通过使用Flask框架实现一个简单的图片上传工具,当用户提交图片后会自动将图片保存到upload目录下,代码如下
王瑞MVP
2022/12/28
9500
antdesign + koa 实现图片上传
我们今天实现一下图片上传,前端用到的是antdesign中的文件上传,后端是自己封装的node的koa框架。
用户4793865
2023/01/12
8780
matinal:python 上传多个文件
matinal
2023/10/14
2620
Tinymce plugins [Tinymce扩展插件集合]
因为项目需要用到富文本编辑器众多富文本编辑器中,选择了 Tinymce,根据项目需要对Tinymce 进行扩展和增强插件,记录一下,并同时分享给需要帮助的人。
Fivecc
2022/11/20
2.8K0
Tinymce plugins [Tinymce扩展插件集合]
fastDFS实现图片上传
文件的上传并不只是在品牌管理中有需求,以后的其它服务也可能需要,因此我们创建一个独立的微服务,专门处理各种上传。
用户4396583
2024/07/28
1150
基于Web3.0的区块链图片上传
开始前,我们先简单了解一下基本的概念,我大致归纳为以下几个点 什么是Web3.0,和区块链又有什么关系?(上回的文章不就派上用场了)
阿珏
2024/10/16
1720
相关推荐
【Django组件】UNIAPP+DJANGO 多图像上传 + 后端接口接受 uView组件(转载)
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文