我正在尝试从客户端Backbone应用程序上传图像到Cloudinary。
他们的文档显示您应该创建如下输入:
<input name="file" type="file"
class="cloudinary-fileupload" data-cloudinary-field="image_upload"
data-form-data=" ... html-escaped JSON data ... " ></input>
示例的JSON:
{ "timestamp": 1345719094,
"callback": "https://www.example.com/cloudinary_cors.html",
"signature": "7ac8c757e940d95f95495aa0f1cba89ef1a8aa7a",
"api_key": "1234567890" }
我正在努力解决的问题是如何生成签名?他们的文档说你必须在服务器端生成它,但我似乎无法在他们的文档中找到如何做到这一点。
此外,最终目标是将返回的图像URL指定为模型属性。我将如何访问返回的图像URL,以便我可以model.save(image: returnedImage)
将其保存回我的服务器?
答案 0 :(得分:1)
这是关于如何生成签名的Cloudinary的文档: http://cloudinary.com/documentation/upload_images#request_authentication
虽然签名基于您的帐户api_secret
,但不应在客户端代码中显示,但您应在服务器端生成签名。
Cloudinary的客户端集成库包括用于生成签名的辅助方法。例如,(在Rails中):
https://github.com/cloudinary/cloudinary_gem/blob/c3aa5dd4aa9c7a55159d88b1221271f351324475/lib/cloudinary/utils.rb#L203
您还可以使用这些库生成图片上传标签,该标签会自动为您完成签名生成: http://cloudinary.com/documentation/rails_image_upload#direct_uploading_from_the_browser
此外,您可能需要考虑使用未签名的上传,也可以上传到Cloudinary而不生成签名: http://cloudinary.com/blog/direct_upload_made_easy_from_browser_or_mobile_app_to_the_cloud