Iva*_*del 1 php database svg json file
我制作了一个用户上传Gerber文件(印刷电路板格式)的系统,然后我用PHP将该文件(GCode)转换为SVG.
我现在面临一个问题,这实际上是一个建筑问题.
我应该将SVG保存在文件中还是数据库中?
我应该将SVG作为JSON({name:test,data:SVGFILEGOESHERE})返回,还是只渲染为.svg?我的意思是,JSON对于大数据结构是否足够安全?
编辑:
转换的SVG将在网站的许多视图中使用,例如:产品页面,配置页面...它不会只显示一次...
主要思想是将GCode发送到服务器,一旦任何人需要该文件,如果它没有呈现,则呈现,并将SVG保存在数据库或文件中,并存储缓存,以避免重新生成 - 多次处理同一个文件.
SVG将使用ajax进行检索,并且还会在页面上进行渲染(但我认为我将使用ajax加载所有内容).
该文件一旦发送到服务器,将永远不会被修改,但可以删除,并重新发送...
谢谢
更新
对于你正在做的事情,我建议将SVG存储为一个单独的文件,并将SVG作为图像返回(提示:header("Content-type: image/svg+xml");在PHP中).
作为旁注,你说The SVG, would be retrieved with ajax, and also rendered with PHP on the page. 这不太正确; SVG是一个文本/ XML文件.PHP不呈现SVG,它只将SVG的代码发送给客户端.客户端机器必须是解析SVG代码并将其作为可见图像呈现给客户端的机器.
原始答案
答案:这取决于.你没有给我们太多的继续.
SVG是ASCII文本,有点像HTML.你可以在这里了解更多.因此,在JSON中发送SVG文件没有任何"错误",只需确保转义任何引号.
JSON适用于大型结构; 问题不在于它的大小,它是从服务器发送到客户端所需的时间,然后是javascript解析JSON并将SVG渲染为图像所花费的时间.我不知道你的设置是什么样的,或SVG文件有多大,但是对于非常大的SVG图像,你可能想把它们放在一个单独的请求中,它只返回SVG,所以客户端机器没有花时间解析JSON.您必须对应用程序进行性能测试,以查看最适合您需求的内容.
至于将SVG存储为文件还是存储在数据库中,它取决于数据库,索引的内存量以及索引的构建方式,是SQL还是NoSQL,或者它有多少存储空间,流量是多少你在网站上,如何备份数据库和/或文件等等.人们使用数据库存储用户图像的缩略图,因此它绝对可以容纳SVG文件.这一切都取决于数据库的速度和稳定性.就个人而言,我更喜欢将图像和大量文本保存在硬盘上的单独文件中.
| 归档时间: |
|
| 查看次数: |
7568 次 |
| 最近记录: |