基于Python Flask框架的一键保存为txt文件的两段代码
本帖最后由 白冥 于 2024-4-25 12:55 编辑我们用一个20*50大小的文本域(textarea)写日志,指定文件名,并由fetchAPI发送为json
from flask import Flask, request,jsonify,json
from flask_cors import CORS
import os
cwd=os.getcwd()
dst=cwd+'/Logs/'
if os.path.isdir(dst):
pass
else:
os.makedirs(dst)
app=Flask(__name__)
cors=CORS(app,resources={r"/*":{"origins":"*"}})
@app.route('/save_log',methods=['POST','OPTIONS','GET'])
def save_log():
data=request.data
if data:
message=json.loads(data)
with open(dst+message['filename']+'.txt','w') as f:
f.write(message['log'])
else:
pass
returnjsonify({"信息":"已成功上传为txt文件"})
if __name__ == '__main__':
app.run(debug=True)
由于Python Flask框架默认监视端口为5000,所以前端部分要完整给出,由于在本机,所以用的是巡回地址。
写这段代码的时候遇到过不少问题,比如CORS越域,不得不再下载个flask-corsPython包,而在处理时候,还遇到过http请求有三个却只有一个有内容导致json反序列化失败的现象,干脆有才反序列化,没有直接pass过去。
由于我发的时候发现发这里代码好像没有缩进,所以给加了空格,但不能保证发出来空格在不在。python对缩进有严格要求,所以如果大家看到发出来没有缩进,我也没办法。
不懂就问
这是啥? 如果是便利的东西,建议发在code区 感觉是很方便的东西惹,就素看不懂orz 看起来挺强大的代码惹,好专业的感觉{:6_169:} 楼主的意思是要求助一个人看看代码吗?如果是求助,那需要发悬赏帖的 感觉贴上效果图对用法更容易理解一些 讨论一下啊
看了一下代码,其实如果只是本地的话,不需要去解决cors的问题。
@app.route('/')
然后把你的html作为静态页面输出就行了。这样就是同域了。
另外就是这个功能我感觉其实不需要用到flask,纯前端就能完成。
我随便找了个现成代码改了改差不多就是这样了
<html>
<head>
<meta charset="utf-8">
<title>保存文本文件到本地</title>
</head>
<body>
<textarea id="json" value="qqq"></textarea>
<input id="filename" placeholder="文件名" />
<button id="save">保存</button>
</body>
<script type="text/javascript">
createAndDownloadFile=function(fileName, content) {
const aTag = document.createElement('a');
const blob = new Blob();
aTag.download = fileName;
aTag.href = URL.createObjectURL(blob);
aTag.click();
URL.revokeObjectURL(aTag.href);
}
const save=document.querySelector("#save");
save.addEventListener("click",function(){
const filename = document.querySelector('#filename')?.value
const content = document.querySelector('#json')?.value
try {
JSON.parse(content)
createAndDownloadFile(filename ,content);
} catch (e) {
console.log(e)
}
});
</script>
</html>
看不懂……但是不妨碍请收下我的膝盖…… 不懂就问,这是针对什么场景的呀{:4_88:} 和用word打一段文字并保存的区别素? 自动保存文本看起来很方便感谢楼主分享 看起来有点复杂,但还是先收藏一下做个标记嘿嘿,以备不时之需~ 吼(´×ω×`)看不懂但大受震惊
这是游戏存档也能保存为txt格式的意思咩(´×ω×`) 虽然看不懂,但是感觉好厉害的样子:o
佩服佩服 看起来很厉害的样子,有机会下载来试试用,感谢分享。 一键保存能防止一些意外情况还是挺好的啊 没有看得很懂呢,要是再能解释的更清楚就好了{:6_164:} 相关内容更建议发布在CODE专区,已将帖子移动至对应版块,请楼主下次发帖前务必注意论坛规范,发布至对应版块 看的不是很懂,只能默默的仰慕大佬了
页:
[1]
2