- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的要求:从ID=“rtfile1”的输入类型=“file”读取内容并将其写入ID为“rt1”的文本区域
基于 [ https://brython.info/][1] 的文档我尝试读取文件,但失败并出现以下错误:从源“http://example.com:8000”访问“file:///C:/fakepath/requirements.txt”处的 XMLHttpRequest ' 已被 CORS 策略阻止:仅以下协议(protocol)方案支持跨源请求:http、data、chrome、chrome-extension、https。
我尝试遵循两个 Brython 代码,但都因上述相同错误而失败。
代码1:
def file_read(ev):
doc['rt1'].value = open(doc['rtfile1'].value).read()
doc["rtfile1"].bind("input", file_read)
代码2:
def file_read(ev):
def on_complete(req):
if req.status==200 or req.status==0:
doc['rt1'].value = req.text
else:
doc['rt1'].value = "error "+req.text
def err_msg():
doc['rt1'].value = "server didn't reply after %s seconds" %timeout
timeout = 4
def go(url):
req = ajax.ajax()
req.bind("complete", on_complete)
req.set_timeout(timeout, err_msg)
req.open('GET', url, True)
req.send()
print('Triggered')
go(doc['rtfile1'].value)
doc["rtfile1"].bind("input", file_read)
任何帮助将不胜感激。谢谢!!! :)
最佳答案
它与 Brython 无关(使用等效的 Javascript 会得到相同的结果),但与告诉浏览器要上传哪个文件的方式有关。
如果您通过 HTML 标记选择文件,例如
<input type="file" id="rtfile1">
Brython 代码中 doc['rtfile1']
引用的对象具有属性 value
,但它不是文件路径或 url,它是浏览器构建的“fakepath”(正如您在错误消息中看到的那样),您不能将其用作 Brython 函数 open()
的参数,也不能用作发送 Ajax 请求的 url;如果您想使用文件 url,则应将其输入到基本输入标记中(不带 type="file"
)。
最好使用 type="file"
选择文件,但在本例中选择对象 doc['rtfile1']
是一个 FileList 对象,如 DOM's Web API 中所述。 ,其第一个元素是 File 对象。不幸的是,读取其内容并不像使用 open()
那么简单,但这里有一个工作示例:
from browser import window, document as doc
def file_read(ev):
def onload(event):
"""Triggered when file is read. The FileReader instance is
event.target.
The file content, as text, is the FileReader instance's "result"
attribute."""
doc['rt1'].value = event.target.result
# Get the selected file as a DOM File object
file = doc['rtfile1'].files[0]
# Create a new DOM FileReader instance
reader = window.FileReader.new()
# Read the file content as text
reader.readAsText(file)
reader.bind("load", onload)
doc["rtfile1"].bind("input", file_read)
关于python - 文件读取在 Brython/Python 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59591474/
帮助使用 Brython 在 Python 中运行一个简单的程序。 基础是从示例中获取的(它没有工作)文件 http://www.brython.info/gallery/pygame/chimp.h
我有一段用 Python 编写的代码。我想将该代码放在网页中。 Brython 似乎是将这两件事粘合在一起的最简单方法,但我没有可以在服务器端实际运行代码的服务器。 Brython 是否需要服务器端代
我目前正在尝试将 Brython 用于我正在制作的网站,但我无法从用户那里获取我的程序的数据。 我设置了一个框供用户输入 ID... ...然后我使用的当前方法是使用 GET 方法使其
我希望在 Brython 中导入我自己的库。 This page of the documentation旨在展示如何通过将适当的目录添加到 python 路径,但我无法使其工作,因为我无法使 Bry
几天来我一直在研究 Python,我已经到了想要将我的 Python 应用程序代码放到 Web 上的地步。基本上,该应用程序是关于向用户提出问题并根据用户的回答 [他在应用程序中输入] 来计算分数,然
晚安。这是一个关于Brython的问题欢迎任何帮助。 我正在寻找一种在每个时间间隔(可能是 200 毫秒)向左(或向右、顶部等)移动元素(例如,div)一些像素的方法。谁能帮帮我? 一旦他到达左边距就
我最近正在尝试 Brython,但我无法弄清楚如何在 Canvas 上绘制一个简单的矩形。我只能找到非常复杂的在 Canvas 上绘制的示例,这些示例对我来说不起作用,而且我无法在文档中找到明确的答案
我正在使用 Flask 编写一个 Web 应用程序,并且想在 Brython 中使用 browser.ajax 功能,但找不到可行的示例。如果有人演示如何在 Brython 中使用 ajax 的简短示
我正在加载 Brython 和 iFlyChat,但如果未注释 iFlyChat 脚本,Brython 将无法工作。我尝试了各种异步组合,但似乎有一些更基本的东西。 JSFiddle here和下面的
我的要求:从ID=“rtfile1”的输入类型=“file”读取内容并将其写入ID为“rt1”的文本区域 基于 [ https://brython.info/][1] 的文档我尝试读取文件,但失败并出
我对 Brython 框架很陌生,所以我的问题将是一个基本问题。对此深表歉意。 这是我的脚本“log.py”: import math class Logarithm: def__init__
所以我有以下困境: 我正在使用 Brython,一切正常。我有一小段代码可以为我执行 ajax 请求,我将其添加到 header 中以绑定(bind)页面中当前元素上的所有内容。 from b
我想在 brython 中使用 numpy。但我不知道如何在 brython 中导入额外的模块。如果您有类似的经历或疑问,请告诉我解决方法 最佳答案 你不能。Brython 是一个从类似 Python
我想在 brython 中使用 numpy。但我不知道如何在 brython 中导入额外的模块。如果您有类似的经历或疑问,请告诉我解决方法 最佳答案 你不能。Brython 是一个从类似 Python
编辑:Google Group post 我正在玩 Brython . 我正在尝试找出如何从 JavaScript 执行 Brython 代码。 http://www.brython.info/sta
首先感谢大家的帮助,这个问题困扰了我几天。我的母语不是英语,所以如果我犯了一些语法错误或问题描述不清楚,请原谅我。 :) 本来我只是一个只会用Python的爬虫。但是,我的公司希望我开发一种工具,可以
所以我尝试在 brython 中使用 websockets,这是 python3 的 javascript 实现。不幸的是,我运气不佳。 根据文档,函数 JSObject() 可用于在 brython
我很高兴看到现在可以在浏览器中编写Python代码了。这些是主要候选人(请添加我可能忽略的任何内容): Brython Skulpt PyPy.js Transcrypt Pyodide 但是如何在它
看来初始化brython需要这样: 我尝试在另一个 的 js 中调用 brython()在链接了 brython.js 但它似乎没有被调用之后。 当我最终在浏览器控制台中调用 brython 时,
我尝试使用 Brython。我有一个 Python 脚本 (test.py),我想在浏览器中显示该脚本的结果。 我试过了: 我的脚本是: x = int(input("Value: "
我是一名优秀的程序员,十分优秀!