javascript - 关于 extract.autodesk.io 的问题 - 采用文件路径而不是使用文件选择器进行选择

标签 javascript node.js autodesk autodesk-forge flow-js

我正在尝试修改项目,以便我可以插入文件路径或文件作为变量,而不是用户选择模型文件。所以我正在寻找实际上传发生的位置。

submitProject()中: https://github.com/cyrillef/extract.autodesk.io/blob/master/www/js/app.js#L129

我看到它只是发送(通过 ajax 请求)一个包含文件名和唯一标识符的对象,但不是实际的二进制文件。

在这里: https://github.com/cyrillef/extract.autodesk.io/blob/master/www/js/upload-flow.js#L34r.upload(),这是模型的实际上传吗?

当您在文件选择器中按“确定”时,它是否立即开始上传文件?

有没有办法给它一个要上传的文件路径,而不是使用表单和文件选择器上传?

最佳答案

这个示例的作者应该在圣诞节假期,我刚刚在我的机器上下载并安装了提取器示例,对代码进行了一些调试,让我尝试尽可能多地回答。

总的来说,我认为你的一些理解是正确的,但让我再解释一下:

对于要上传和翻译的本地文件,实际“上传”实际上有两个步骤。

正如您所提到的,当您在文件选择器中按“确定”时,是的,文件将首先上传到“提取器”服务器,正如您通过 r.upload() 等方法注意到的那样,它实际上使用 JavaScript 库调用“flow.js”,它通过 HTML5 文件 API 提供多个同时、稳定、容错和可恢复/可重新启动的文件上传。我不是这方面的专家,但您可以检查该模块以了解如何使用它来上传文件.

至此,您的文件已经从客户端上传到“extractor”服务器,但是如果您想将文件翻译为“svf”,则需要将文件上传到 Autodesk Server(OSS) ,这是通过单击“提交我的项目”按钮来完成的,当您单击此按钮时,正如您提到的,从客户端,它将调用https://github.com/cyrillef/extract.autodesk.io/blob/master/www/js/app.js中的submitProject()方法。 ,这个方法会向“extractor”服务器发送一个“/api/projects”的post请求,如果你查看服务器端的代码https://github.com/cyrillef/extract.autodesk.io/blob/master/server/projects.js ,可以看到提取器服务器实际上将文件上传到Autodesk OSS,然后触发翻译服务。

关于javascript - 关于 extract.autodesk.io 的问题 - 采用文件路径而不是使用文件选择器进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41331270/

相关文章:

javascript - 什么是 SuiteScript 2.0 等同于 nlapiPrintRecord()

javascript - Firebase 动态链接在 whatsapp 中共享和重定向到 AppStore/PlayStore 时不显示图像

node.js - 在 OS X 上的 Visual Studio Code 预览中调试 node.js

c++ - 是否可以迭代不是 'built in' 的对象的 FbxProperties

javascript - Svg transform 属性放置有间隙的元素

javascript - 在 Javascript 中,子节点因其父节点而受到影响

node.js - 使用 .htaccess 的 Node.js/Gulp 的漂亮 URL?

node.js - 处理异步http调用 Node js

javascript - 无法获取instanceTree Autodesk

maya - 如何让 Maya 通过本地主机 IP 进行通信?