将图像上传到imgur而不暴露client_id,而是直接从浏览器上传

问题描述 投票:0回答:1

好的,我想开始在我的新网络应用程序中使用 imgur(在所有浏览器和我的服务器上),并将提交匿名图像以进行付费存储,但从用户的浏览器中提交,以最大程度地减少我服务器上的负载。几乎所有软件都在 javascript 客户端中运行(与服务器交互很少......因此快速且分布式)。

目前我可以看到使用 imgur 中的 ID 的唯一方法是首先将图像带到我的服务器,然后使用我的 ID 发送到 imgur。因为将其放入浏览器上的 javascript 中可以使 ID 对全世界可见。

我希望有某种解决方案,例如:我致电 imgur 以获得仅可使用一次的令牌。用户从我的服务器获取令牌(我之前会轮询 imgur 来获取),然后我发送到他们浏览器上的 javascript 代码,该代码将使用令牌将图像直接上传到 imgur。那么这个token就死了,别人看到也没关系,也不能再使用了。

imgur API 有这样的东西吗?或者也许是另一种解决方案?要点是:

  1. 不要上传到我的服务器,因为我不会将其保留在那里
  2. 不要在 Javascript 中将我的客户端 ID 暴露给用户浏览器上的世界

如有任何帮助,我们将不胜感激。

image security uploading imgur
1个回答
0
投票

我还没有找到任何直接从浏览器执行此操作的方法。 但您可以使用后端作为代理来处理上传。例如,在 python (Django) 中,您可以从客户端流式传输文件并将其分块发送到 imgur,并在完成后生成它,例如一次 1MB。这可以防止后端内存过载。 我可以为您提供有关如何实现该方法的代码。但我现在不打算发布代码,因为它与您的主题无关。

© www.soinside.com 2019 - 2024. All rights reserved.