flask下载文件,进去download页面后,为什么下载的文件只有一个txt,那个点点呢?不应该是点txt吗?把下载好的文件名字改成1.txt之后里面的内容是正确的,只是为什么是这种名字?到底为什么啊(绝望)
flask下载文件为什么文件名字只有一个txt
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- Kwan的解忧杂货铺@新空间代码工作室 2024-03-01 19:28关注
禾岑381 晚上好🌙🌙🌙
本答案参考通义千问在 Flask 中使用
send_from_directory
函数下载文件时,如果文件名显示不完整(例如只有 "txt" 而不是 "file.txt"),这通常是由于传入函数的文件名参数缺少完整的文件扩展名导致的。您需要确保传递给路由函数的文件名是完整的,包括点(.)和扩展名。问题分析:
- 您的代码中
filename 1
这一行似乎有误,可能是复制粘贴过程中的错误,正确应该是filename = '1.txt'
(假设文件名确实是 "1.txt")或者直接使用接收到的<filename>
参数。
解决方案:
- 确保路由处理函数接收到了完整的文件名,包括扩展名。
- 修正您的代码:
from flask import send_from_directory app.route('/download/<filename>') def download(filename): # 确保 filename 参数包含完整的文件名(包括扩展名) return send_from_directory(UPLOAD_PATH, filename, as_attachment=True)
- 当您在浏览器中访问
/download/1.txt
时,应该会下载名为 "1.txt" 的文件,而不是仅有 "txt" 的文件。
注意事项:
- 确保路径中的文件确实存在,并且提供的文件名与实际文件名完全匹配。
- 如果前端在调用这个接口时没有正确地提供完整的文件名(如 ".txt" 部分丢失),那么您需要在后端进行补充或验证。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用 - 您的代码中
悬赏问题
- ¥15 券商软件上市公司信息获取问题
- ¥100 ensp启动设备蓝屏,代码clock_watchdog_timeout
- ¥15 Android studio AVD启动不了
- ¥15 陆空双模式无人机怎么做
- ¥15 想咨询点问题,与算法转换,负荷预测,数字孪生有关
- ¥15 C#中的编译平台的区别影响
- ¥15 软件供应链安全是跟可靠性有关还是跟安全性有关?
- ¥15 电脑蓝屏logfilessrtsrttrail问题
- ¥20 关于wordpress建站遇到的问题!(语言-php)(相关搜索:云服务器)
- ¥15 【求职】怎么找到一个周围人素质都很高不会欺负他人,并且未来月薪能够达到一万以上(技术岗)的工作?希望可以收到写有具体,可靠,已经实践过了的路径的回答?