我正在尝试通过他们的 jQuery 插件将直接上传到 Cloudinary 到 Node.js 应用程序,并且想知道是否有人可以帮助我弥补他们示例中的一些空白。
这是解释如何做到这一点的博客文章:
http://cloudinary.com/blog/direct_image_uploads_from_the_browser_to_the_cloud_with_jquery
在“其他开发框架和高级用法”部分,我坚持的部分是:
- "将data-form-data设置为上传API参数的JSON表示。必填字段为api_key、时间戳、签名和回调。",
更具体地说:
- “需要在服务器端生成签名以进行正确的身份验证。”
似乎没有任何例子说明如何实现这一目标。
这些例子是:
<input name="file" type="file"
class="cloudinary-fileupload" data-cloudinary-field="image_upload"
data-form-data=" ... html-escaped JSON data ... " ></input>
data-form-data 的未转义 JSON 内容是:
{ "timestamp": 1345719094,
"callback": "https://www.example.com/cloudinary_cors.html",
"signature": "7ac8c757e940d95f95495aa0f1cba89ef1a8aa7a",
"api_key": "1234567890" }
你如何去生成签名?我知道我需要在 node.js 中执行此操作,并且它似乎需要在生成表单时发生,尽管据我所知,签名需要包含时间戳 - 到用户时肯定会过时填好表格了吗?
请求身份验证的文档在这里:http ://cloudinary.com/documentation/upload_images#request_authentication
在我正在使用的cloudinary_npmuploader.coffee
模块中,有一个方法被调用direct_upload
,它似乎是实现这一点的帮手,但我不清楚如何将它们实际绑定在一起。
博客文章中带有真实示例的两个框架,Rails 和 Django,通过它们自己的帮助器抽象了这种复杂性,例如,在 Django 中,您添加{{ form.image }}
到表单中,它输出结果image = cloudinary.forms.CloudinaryJsFileField()
- 不幸的是,如何在任何其他服务器端环境中复制它不包括在内。
如果有人可以对此有所了解,或者分享有关如何使其端到端工作的要点或示例,我将不胜感激。