繁体   English   中英

html 下载属性 for.obj 文件

[英]html download attribute for .obj file

我有一个 obj 文件放在 p5.js WEBGL canvas 中。 我想通过 html 下载属性链接使 3D model 可下载。

我试过了:

<a href="SnowstormAloe.obj" download="Snowstorm Aloe .obj">Download OBJ</a>

这当然不起作用,因为 html 下载属性不包括此类文件。 关于如何使 an.obj 可下载的任何想法?

谢谢!

如果您在客户端生成 model,您可以通过将文件内容转换为Blob来创建下载链接,然后使用URL.createObjectURL创建链接。

像这样

const objFileContent = `#  Viewpoint Datalabs International, Inc.  Copyright 1996


mtllib ./vp.mtl

g
v 2.712726 -2.398764 -2.492640
v 2.712726 -1.954302 -2.665440
v -5.975275 -1.954302 -2.665440
v -5.975275 -2.398764 -2.492640
v -6.113514 -1.885536 -2.803680
v 2.712726 -1.885536 -2.803680
v -5.975275 -1.372307 -2.803680
v -5.975275 -1.816770 -2.700000
v 2.712726 -1.816770 -2.700000
v 2.712726 -1.372307 -2.803680
v 4.766168 -2.256987 -2.354400
v 4.766168 -1.372307 -2.665439
v 4.766168 -1.769892 -2.561759
v 4.766168 -1.827445 -2.665439
v 4.766168 -1.884998 -2.527199
v 6.335766 -1.688939 -2.354399
v 6.335766 -1.732171 -2.458079
v 6.335766 -1.775403 -2.319839
v 6.335766 -2.054828 -2.147039
v 6.335766 -1.372307 -2.458079
v 8.078169 -1.372308 -2.043359
v 7.641026 -1.604039 -1.939679
v 7.711631 -1.639892 -2.043359
v 7.505756 -1.675745 -1.905119
v 7.068614 -1.907476 -1.732319
....`

document.querySelector('button').addEventListener('click', () => {
  var link = document.createElement('a');
  link.download = 'SnowstormAloe.obj';
  var blob = new Blob([objFileContent], {
    type: 'application/object'
  });
  link.href = URL.createObjectURL(blob);
  document.body.appendChild(link);
  link.click();
});
<button>Download .obj file</button>

工作示例: https://output.jsbin.com/nugunit

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM