Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >tinymce图片上传

tinymce图片上传

作者头像
py3study
发布于 2021-04-16 02:25:13
发布于 2021-04-16 02:25:13
6.5K07
代码可运行
举报
文章被收录于专栏: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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
ElementUI 上传文件以及限制
一、概述 现有项目中,涉及文件上传。要求: 1. 文件必须是excel 2. 只能上传1个文件 3. 文件大小不能超过5M  二、Upload 上传 注意:ElementUI Upload 上传,需要
py3study
2021/03/02
4.6K0
ElementUI 上传文件以及限制
【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
5010
博客中KindEditor配置[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/04
7950
博客中KindEditor配置[通俗易懂]
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
4510
Django之Ajax文件上传
      这应该是最常见的 POST 提交数据的方式了。浏览器的原生 <form> 表单,如果不设置 enctype 属性,那么最终就会以 默认格式application/x-www-form-urlencoded 方式提交数据,ajax默认也是这个。请求类似于下面这样(无关的请求头在本文中都省略掉了):
py3study
2020/02/10
2.5K0
matinal:python 上传多个文件
matinal
2023/10/14
4130
Rust:axum学习笔记(4) 上传文件
接上一篇继续,上传文件是 web开发中的常用功能,本文将演示axum如何实现图片上传(注:其它类型的文件原理相同),一般来说要考虑以下几个因素:
菩提树下的杨过
2022/04/27
2.6K1
Rust:axum学习笔记(4) 上传文件
Tinymce plugins [Tinymce扩展插件集合]
因为项目需要用到富文本编辑器众多富文本编辑器中,选择了 Tinymce,根据项目需要对Tinymce 进行扩展和增强插件,记录一下,并同时分享给需要帮助的人。
Fivecc
2022/11/20
3K0
Tinymce plugins [Tinymce扩展插件集合]
Django 实现文件上传下载API
https://www.djangoproject.com/download/2.0.13/tarball/
授客
2025/04/19
1270
Django实战-服务端图片上传
Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
小团子
2019/09/03
1.9K2
Django实战-服务端图片上传
垃圾识别系统Python+TensorFlow+Django网页平台+深度学习模型【完整代码】
垃圾识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对5种垃圾数据集进行训练,最后得到一个识别精度较高的模型。并基于Django,开发网页端操作平台,实现用户上传一张垃圾图片识别其名称。
子午Python
2023/07/08
4150
使用Django快速搭建reportServer
最近想开发一个基础的服务(reportServer), 提供管理测试报告的相关功能
我是胖虎啊
2022/12/20
2890
使用Django快速搭建reportServer
Python创建接口项目(FastAPI)及人脸识别
我们要实现一个人脸识别的功能,人脸识别的都是调用本地的图片,所以我们搭建一个接口服务来提供图片的上传。
码客说
2022/06/15
1.9K0
Vue+element图片上传 原
采用比较笨的js解决方法,将bolb文件打开,读取src属性(这是一个base64的数据流),把src的内容一起发送给后端。
晓歌
2018/08/15
1.5K0
Django 实现文件上传下载API
by:授客 QQ:1033553122 欢迎加入全国软件测试交流QQ群:7156436
授客
2020/09/01
2.3K0
16.Django学习之文件上传和下载
更新上传了的文件(注意,只是会更新数据库中那个字段保存的文件的路径,但是之前上传的文件是不会被自动删除的,需要我们自行再写逻辑来删除之前上传错的或者需要被覆盖的文件。还有就是如果上传的文件名称是相同的那么你会发现数据库中这个字段的路径后面的文件名称会出现一个乱起八糟的随机字符串,这是因为上传的文件名称冲突了,django为了解决这个冲突,给你改了一下你的文件名称。)
changxin7
2019/12/12
1.3K0
Django中富文本编辑器KindEditor的使用和图片上传
KindEditor 是一套开源的在线HTML编辑器,主要用于让用户在网站上获得所见即所得编辑效果,开发人员可以用 KindEditor 把传统的多行文本输入框(textarea)替换为可视化的富文本输入框。 KindEditor 使用 JavaScript 编写,可以无缝地与 Java、.NET、PHP、ASP 等程序集成,比较适合在 CMS、商城、论坛、博客、Wiki、电子邮件等互联网应用上使用
菲宇
2022/12/21
1.2K0
Django中富文本编辑器KindEditor的使用和图片上传
Flask 实现简单的图片上传
通过使用Flask框架实现一个简单的图片上传工具,当用户提交图片后会自动将图片保存到upload目录下,代码如下
王 瑞
2022/12/28
1K0
Laravel+Layer 图片上传功能整理
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/details/78961365
泥豆芽儿 MT
2018/09/11
2.2K0
Laravel+Layer 图片上传功能整理
Python实现批量上传excel
在上述代码中,我们首先通过 os.listdir() 方法获取了指定文件夹中的所有文件名,然后遍历每个文件,读取其数据并进行处理,最后输出处理结果到控制台。需要注意的是,由于不同的Excel文件可能具有不同的数据结构,因此在进行数据处理时需要根据实际情况进行调整。此外,我们还需要在代码中添加数据保存和上传的操作,具体实现方式视具体情况而定。
疯狂的KK
2023/03/24
1.4K0
相关推荐
ElementUI 上传文件以及限制
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验