xsrf form html,python – tornado开启了xsrf_cookies,在ckeditor中上传文件如何传入xsrf_form_html()?…

xsrf form html,python – tornado开启了xsrf_cookies,在ckeditor中上传文件如何传入xsrf_form_html()?…tornado在setting中设置了”xsrf_cookies”:True,则需要在表单中添加{%modulexsrf_form_html()%}。但ckeditor如何传xsrf_cookies这个值,每次上传图片都显示’_xsrf’argumentmissingfromPOST。如果把”xsrf_cookies”设置为False则上传成功。下面是上传的代码classcku…

大家好,又见面了,我是你们的朋友全栈君。

tornado在setting中设置了”xsrf_cookies” : True,则需要在表单中添加{% module xsrf_form_html() %}。

但ckeditor如何传xsrf_cookies这个值,每次上传图片都显示’_xsrf’ argument missing from POST。

如果把”xsrf_cookies”设置为False则上传成功。

下面是上传的代码

class ckuploadHandeler(BaseHandler):

@authenticated

def gen_rnd_filename(self):

filename_prefix = datetime.datetime.now().strftime(‘%Y%m%d%H%M%S’)

return ‘%s%s’ % (filename_prefix, str(random.randrange(1000, 10000)))

@authenticated

def post(self):

“””CKEditor file upload”””

error = ”

url = ”

callback = self.get_argument(“CKEditorFuncNum”)

if self.request.method == ‘POST’ and ‘upload’ in self.request.files:

fileobj = self.request.files[‘upload’]

fname, fext = os.path.splitext(fileobj[0][‘filename’])

rnd_name = ‘%s%s’ % (self.gen_rnd_filename(), fext)

filepath = os.path.join(self.settings[‘static_path’], ‘upload’, rnd_name)

# 检查路径是否存在,不存在则创建

dirname = os.path.dirname(filepath)

if not os.path.exists(dirname):

try:

os.makedirs(dirname)

except:

error = ‘ERROR_CREATE_DIR’

elif not os.access(dirname, os.W_OK):

error = ‘ERROR_DIR_NOT_WRITEABLE’

if not error:

print(filepath)

with open(filepath,’wb’) as up: #有些文件需要已二进制的形式存储,实际中可以更改

up.write(fileobj[0][‘body’])

urlpath = filename=’%s/%s’ % (‘upload’, rnd_name)

url = self.static_url(urlpath)

print(url)

else:

error = ‘post error’

res = “””

window.parent.CKEDITOR.tools.callFunction(%s, ‘%s’, ‘%s’);

“”” % (callback, url, error)

self.write(res)

Handler的URL (r’/upload/’, ckuploadHandeler),

显示错误`WARNING:tornado.general:403 POST /upload/?CKEditor=context&CKEditorFuncNum=1&langCode=zh (127.0.0.1): ‘_xsrf’ argument missing from POST

`

如何在上传图片的时候把xsrf_cookies也post过去?

html代码:

CKEDITOR.replace(‘context’);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/144575.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • elasticsearch

    elasticsearch

  • nginx haproxy区别_centos闭源

    nginx haproxy区别_centos闭源 一、Nginx优点:1、工作在网络7层之上,可针对http应用做一些分流的策略,如针对域名、目录结构,它的正规规则比HAProxy更为强大和灵活,所以,目前为止广泛流行。2、Nginx对网络稳定性的依赖非常小,理论上能ping通就能进行负载功能。3、Nginx安装与配置比较简单,测试也比较方便,基本能把错误日志打印出来。4、可以承担高负载压力且稳定,硬件不差的情况下一般能支撑…

  • jps命令显示jvm进程

    jps命令显示jvm进程用来查看基于HotSpot JVM里面所有进程的具体状态, 包括进程ID,进程启动的路径等等。与unix上的ps类似,用来显示本地有权限的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。使用jps时,不需要传递进程号做为参数。Jps也可以显示远程系统上的JAVA进程,这需要远程服务上开启了jstat服务,以及RMI注及服务,不过常用都是对本对的JAVA进程的查看。

  • jpeg图像压缩算法流程详解_图像压缩最快算法

    jpeg图像压缩算法流程详解_图像压缩最快算法JPEG是Joint Photographic Exports Group的英文缩写,中文称之为联合图像专家小组。该小组隶属于ISO国际标准化组织,主要负责定制静态数字图像的编码方法,即所谓的JPEG算法。JPEG专家组开发了两种基本的压缩算法、两种熵编码方法、四种编码模式。如下所示:压缩算法:(1)有损的离散余弦变换DCT(Discrete Cosine Transform)(2)无

    2022年10月28日
  • 在html中使用fontIcon 的图标

    在html中使用fontIcon 的图标听说fontIcon显现图形比img要高。 然后它是以矢量图的相似呈现,放大不会失真。 在今天开发中发现,公司有人使用了这项技术。。所以也就花时间学习了一下。。在学过程中看了几篇文章之后完成的。。这里也推荐下:1http://www.chinaui.com/Knowledge/20120907/14021209040007.shtml(里面有demo,和更重要的图

    2022年10月22日
  • 谷歌dns和阿里dns_最快dns排行

    谷歌dns和阿里dns_最快dns排行国内比较大型大众常用的公共DNS服务器公共DNS服务器,即系统默认的DNS解析服务器。DNS全称DomainNameSystem,即域名解析系统。DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。公共DNS服务器,具有无广告、可以在一定程度上防止DNS劫持、不需因上网环境的改变而改变等优势,但是,使用公共DNS也可能存在系统响应慢、被劫

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号