我相信这个错误是我在 Safari(和移动 safari)中的 javascript 的问题,因为我可以从 chrome 上传照片没问题。
我有一个基于网络的移动应用程序,用户需要能够上传照片。但我不需要/想要高分辨率的照片,所以我将它们粘贴在画布中,调整大小,将画布捕获为 DataURL,然后转换为 blob。很简单,对吧;)
我怀疑有问题的 javascript 在这里
var binary = atob(imgTag.src.split(',')[1]); 变量数组 = []; for(var i = 0; i < binary.length; i++) { array.push(binary.charCodeAt(i)); } var formData = new FormData(); formData.append('photo[image]',new Blob([new Uint8Array(array)]));
但我必须承认,我不熟悉将图像流式传输到字符串等。我在 StackOverflow 上关注了一些博客和答案,让我走到了这一步。
我很高兴得到一个在服务器端或客户端都有效的答案。我尝试更改为可卡因 gem 的早期版本,因为这解决了其他人的问题,但我被锁定在我的版本中,因为我使用的是 Paperclip 3.1.3 和 rails 3.2.3 以及 Sass 和所有其他好东西。
我的控制台的错误是
命令 :: identify -format %wx%h '/tmp/blob20121214-5750-185epy9[0]' [回形针] 处理时收到错误:#<Paperclip::Errors::NotIdentifiedByImageMagickError: /tmp/blob20121214-5750-185epy9 无法被“识别”命令识别。>