我正在使用processing.js创建应用程序并通过dropbox公共文件夹托管结果,我们的想法是使用通过该平台生成的.txt文件将某些数据发送到本地3d建模环境(rhinoceros /蚱蜢),是否可以直接从网页上运行的草图写入dropbox公共文件夹中托管的.txt文件? 我的意思是,使用:saveStrings(" test.txt","这是一个例子"); 包含草图的html,.txt文件和草图文件本身都存储在dropbox中的同一个公共文件夹中,您可以在此处查看该网站:https://dl.dropboxusercontent.com/u/97841548/kinetica%20App/KineticaAppHTML.html
提前致谢
答案 0 :(得分:0)
您无法直接从这样的网页访问本地文件系统,并且只是凭借在Dropbox上托管的KineticaAppHTML.html页面,您无法获得对Dropbox帐户的写入权限。
然而,一种方法是使用Dropbox API。您可以将文件写入代理到您控制的服务器,然后让该服务器对Dropbox进行API调用,也可以直接从KineticaAppHTML.html页面上的JavaScript使用Dropbox API。
Dropbox提供了一个可以使用的JavaScript SDK:
https://www.dropbox.com/developers/datastore/sdks/js
这里有一个教程,虽然它侧重于数据存储功能而不是文件:
https://www.dropbox.com/developers/datastore/tutorial/js
用于验证用户的基础知识是相关的。
经过身份验证后,您可以使用此方法将新内容写入Dropbox中的文件:
https://www.dropbox.com/developers/datastore/docs/js#Dropbox.Client.writeFile
但请注意,此策略只会让您自己,即在您自己的浏览器中,能够进行Dropbox API调用。如果您希望其他用户使用此功能,则此设置会让他们连接到自己的Dropbox帐户。如果您需要它们仅连接到您自己的帐户,您需要托管并使用您自己的实际网络应用程序,就像我之前提到的那样,您可以安全地对自己的帐户进行API调用。 (从技术上讲,您可以通过在网页中嵌入访问令牌来避免这种情况,但由于安全隐患,我们非常不鼓励这样做。)
答案 1 :(得分:-1)
简答:不。
浏览器中的网页没有对文件系统的读/写访问权限。只有网络。
答案很长:是的,但不是你描述的方式。
如果您的服务器运行的RESTful API可以通过URL调用(就像Web上的任何其他API一样),那么您可以使用任何“ajax”方法与之通信,为其提供数据需要生成这些文件,并负责将它们放在正确的dropbox文件夹中。