Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .obj文件的html下载属性_Javascript_Html_Download_3d Model - Fatal编程技术网

Javascript .obj文件的html下载属性

Javascript .obj文件的html下载属性,javascript,html,download,3d-model,Javascript,Html,Download,3d Model,我在p5.js WEBGL画布中放置了一个obj文件。我想通过html下载属性链接下载3D模型 我试过: 这当然不起作用,因为html下载属性不包含这种类型的文件。有没有关于如何使.obj可下载的想法 谢谢 如果在客户机中生成模型,则可以通过将文件内容转换为文件来创建下载链接,然后使用创建链接 像这样 const objFileContent=`#视点数据实验室国际有限公司版权所有1996 mtllib./vp.mtl G v 2.712726-2.398764-2.492640 v 2.7

我在p5.js WEBGL画布中放置了一个obj文件。我想通过html下载属性链接下载3D模型

我试过:


这当然不起作用,因为html下载属性不包含这种类型的文件。有没有关于如何使.obj可下载的想法


谢谢

如果在客户机中生成模型,则可以通过将文件内容转换为文件来创建下载链接,然后使用创建链接

像这样

const objFileContent=`#视点数据实验室国际有限公司版权所有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='snowstormloae.obj';
var blob=新blob([objFileContent]{
类型:“应用程序/对象”
});
link.href=URL.createObjectURL(blob);
document.body.appendChild(链接);
link.click();
});
下载.obj文件

工作示例:。

您的意思是,下载具有该功能的画布?在js中,没有办法做到这一点(可能有一个库…)。至少,你应该生成一个带有画布逻辑代码的html文件。不,对不起,我指的是实际的模型,就像我会用一张简单的图片或PDF文件做的一样。嘿,谢谢链接。我看了一下,在我看来canvas元素被转换成了静态图像,但是如果我错了,请纠正我。在我的例子中,我需要下载输出是一个3D模型,特别是一个.obj文件。谢谢
download
属性适用于各种文件。它并不适用于所有类型的URL(例如,不包括跨来源的URL),但文件类型无关紧要。这也是一个超级酷的想法!很高兴听到:)如果它对你有效,请接受答案,这样它可以帮助其他人。