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

Posted

技术标签:

【中文标题】关于 extract.autodesk.io 的问题 - 采用文件路径而不是使用文件选择器进行选择【英文标题】:Questions about extract.autodesk.io - taking a file path instead of choosing with the file chooser 【发布时间】:2017-05-10 22:04:45 【问题描述】:

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

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#L34 有r.upload(),这是实际上传的模型吗?

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

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

【问题讨论】:

我对这个问题不太清楚:有没有办法给它一个文件路径来上传,而不是使用表单和文件选择器上传? -- 你想通过本地文件路径提交文件吗?为什么不能使用文件选择器?还是您尝试了 uri 输入? 【参考方案1】:

此功能(传递 URL 字符串与文件二进制文件)已经实现。您可以使用 uri: 编辑框并将您的文件 URL 粘贴到那里。它支持带有访问令牌的 http(s) 或 S3 uri。 物理上传发生在 file 中,而 SubmitProject() 代码仅以 JSON 形式发送信息。 JSON 对象仅包含对使用 flow.js 上传的文件的引用。但如果您选择了该方法,它将包含 uri 字符串。

【讨论】:

【参考方案2】:

这个示例的作者应该是在圣诞节假期,我刚刚在我的机器上下载并设置了提取器示例,对代码进行了一些调试,让我尽量回答。

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

本地文件要上传翻译,实际“上传”有2个步骤。

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

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

【讨论】:

以上是关于关于 extract.autodesk.io 的问题 - 采用文件路径而不是使用文件选择器进行选择的主要内容,如果未能解决你的问题,请参考以下文章

如何使用纯 Javascript Autodesk 在查看器中离线显示 2d (.dwg) 文件

关于安卓固件升级的问

关于JavaMail 使用QQ邮箱发送邮件的问。

关于easyui的问,我包没有导错,我及html形式都能显示dialog,为啥我用javascrpt方式就显示不出来呢?

详细的问PROE的配置文件设置的步骤,请高手们细详呀题说明。

关于清除 Sql 表变量的自动增量值 [重复]