dxf - 如何在 Flask 应用程序中提供 ezdxf 下载?
问题描述
我正在尝试将 ezdxf 实现到 Flask Web-App 中,我试图在其中呈现文件并将其作为下载提供。
没有数据库可以吗?(如果没有,我怎样才能将 saveas 函数的文件目录更改为 Web 数据库?)
谢谢简
解决方案
您可以通过write方法将 DXF 文件写入文本流,因此可以使用StringIO对象将其写入字符串。StringIO.getvalue()
返回一个 unicode 字符串,如果您的应用需要二进制编码的数据,则必须使用正确的编码将其编码为二进制字符串。
DXF R2007 (AC1021) 及更高版本的文本编码始终'utf8'
为 ,对于较旧的 DXF 版本,所需的编码存储在Drawing.encoding
.
import io
import ezdxf
def to_binary_data(doc):
stream = io.StringIO()
doc.write(stream)
dxf_data = stream.getvalue()
stream.close()
enc = 'utf-8' if doc.dxfversion >= 'AC1021' else doc.encoding
return dxf_data.encode(enc)
doc = ezdxf.new()
binary_data = to_binary_data(doc)
推荐阅读
- azure - Azure Build Pipeline - 如何授予对存储帐户的访问权限?
- common-data-service - 如何将“DataVerse for Teams”环境“升级”到常规环境?
- excel - 带有双重匹配的 COUNTIFS
- python - 并行运行 Binance websocket
- kotlin - Null 安全地检查 kotlin 格式
- kofax - 是否可以使用 KTA SDK 合并图像文件?
- r - Cbind 数据框并使用粘贴输出以创建标签
- javascript - Vue.js:带换行符的字符串插值
- python - 在 Pandas 中组合列并连接非缺失值
- python - 在python中创建一个监听来自套接字连接的消息的程序