Shopify行项目属性图片通过Ajax上传
Shopify Line Item Properties Image upload via Ajax
是否可以使用Shopify通过Ajax上传行项目属性图像?Shopify不允许通过Ajax上传文件。
我已经想出了一个使用Cloudinary的解决方案(不直接上传到Shopify)。我想在这里分享一下。
在Shopify中将图像作为行项目属性Ajax上传的解决方案。
最初,我尝试将图像转换为BASE64,然后Ajax上传BASE64字符串。然而,这是有效的,在显示整个BASE64字符串的顺序内,而不是图像。。。
所以,我转向了Cloudinary——一个图像上传服务。Cloudinary自动将BASE64编码的图像转换回"正确"的图像。
在Cloudinary中,我们需要启用未签名的图像上传才能正常工作。
http://cloudinary.com/blog/direct_upload_made_easy_from_browser_or_mobile_app_to_the_cloud
一旦启用,我们就可以通过AJAX将BASE64映像上传到Cloudinary。
var data = {
upload_preset: "019au6h3", // the unsigned image preset within cloudinary
tags: "foo", // any tags you wish to apply
context: "photo=phototitle",
file: encodedImage // the BASE64 encoded image file http://stackoverflow.com/questions/6978156/get-base64-encode-file-data-from-input-form
}
// standard Jquery ajax post
jQuery.post("https://api.cloudinary.com/v1_1/dn5wucjj2/upload", data).done(function(data) {
// do something here
}).then(function(data) {
addToCart(data.secure_url) // addToCart is the ajax add to cart post function (whatever function your theme uses, modified to accept an the returned image)
});
data.secure_url是Cloudinary在上传图像时返回的url。然后,我们可以将其传递给我们的addToCart功能,该功能将产品添加到Shopify的购物车中。
在结账时,客户会看到他们的图片的url(不理想)。然而,在后台,在订单中,Shopify将url变成了一个链接。
对于那些关心安全的人:https://support.cloudinary.com/hc/en-us/articles/208335975-How-safe-secure-is-it-to-use-unsigned-upload-from-web-browsers-or-mobile-clients-
- 使用Ajax上传Javascript表单
- AJAX上传文件不起作用
- 使用ajax上传的文件返回错误,但使用c#在asp.net的服务器端正常提交的文件
- Codeigniter:通过Ajax上传图像并存储在数据库中
- Laravel 5.2 ajax上传进度条和VerifyCsrfToken.php第67行中的TokenMismatch
- ajax上传文件表单
- 将通过 AJAX 上传的二进制数据保存在 PHP 服务器上
- jQuery AJAX 上传系统 IE 问题
- 如何在 Codeigniter 中使用 ajax 上传文件
- 通过ajax上传文件不会在MVC中的请求中附加文件
- 如何使用AJAX上传文件
- 无法使用HTML5 PHP和纯ajax上传图像
- 在没有表单的情况下通过AJAX上传图像
- 使用valums-ajax上传器从上传列表中删除特定文件
- 我想在Iframe Javascript PHP的帮助下,将单个ajax上传器脚本转换为多个上传器
- 使用ajax上传图片仅适用于png
- HTML5文件API使用Ajax上传多个图像
- 通过AJAX上传图片-如何将文件名传递到服务器
- 使用ajax上传文件(不带FORM)
- 使用ajax上传图像,无需使用表单