android - 在 Android 上的 Rhodes 中将签名图片保存到文件中

标签 android image storage rhodes

我正在尝试使用针对 Android 选项卡的 Rhodes 实现签名捕获。我设法拿到 Canvas 并在上面涂鸦。但是我无法将签名保存在所需的位置。 signature_uri 采用默认位置为 db/db-files/Image-XXXXXX.png

这是示例中的代码:

def signature_callback
if @params['status'] == 'ok'
  #create signature record in the DB
  signature = SignatureUtil.new({'signature_uri'=>@params['signature_uri']})
  signature.save
  puts "new Signature object: " + signature.inspect
end

在我得到的控制台中:

APP| RHO serve: /app/Settings/signature_callback
I/APP     (  801): I 01/26/2012 11:36:20:236 0000032e                  APP| Params: {"status"=>"ok", "signature_uri"=>"db/db-files/Image_20120126113618375.png", "rho_callback"=>"1"}
I/APP     (  801): I 01/26/2012 11:36:20:238 0000032e                  APP| *******************ok****************
I/APP     (  801): I 01/26/2012 11:36:20:238 0000032e                  APP| %%%%%%%%%%%%%%%%%db/db-files/Image_20120126113618375.png%%%%%%%%%%%
I/APP     (  801): I 01/26/2012 11:36:20:239 0000032e                  APP| App error: can't convert Symbol into Integer
I/APP     (  801):  lib/rhom/rhom_object_factory.rb:67:in `[]'
I/APP     (  801): lib/rhom/rhom_object_factory.rb:67:in `initialize'
I/APP     (  801): apps/app/Settings/controller.rb:34:in `new'
I/APP     (  801): apps/app/Settings/controller.rb:34:in `signature_callback'
I/APP     (  801): lib/rho/rhocontroller.rb:91:in `serve'
I/APP     (  801): lib/rho/rhoapplication.rb:209:in `serve'
I/APP     (  801): lib/rho/rho.rb:822:in `serve'
I/APP     (  801): E 01/26/2012 11:36:20:248 00000321                  Net| Request failed. HTTP Code: 500 returned. HTTP Response:         <html>
I/APP     (  801):             <head>
I/APP     (  801):                 <meta name="viewport" content="width=320"/>
I/APP     (  801):             </head>
I/APP     (  801):             <body>
I/APP     (  801):                 <h2>Server Error</h2>
I/APP     (  801):                 <p>
I/APP     (  801): Error: can't convert Symbol into Integer<br/>Trace: <br/

现在我想将它保存在所需的位置,而不是这个数据库存储。请分享您的观点。

最佳答案

您是否查看过此页面:http://docs.rhomobile.com/rhodes/device-caps#file-system-access ?在我看来,您需要将图像保存到数据库并使用 Rho::RhoApplication::get_blob_path(image.image_uri) 方法打开文件。然后您应该能够使用文件系统 API 创建一个新文件并将图像的内容写入您选择的任何位置。

关于android - 在 Android 上的 Rhodes 中将签名图片保存到文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014604/

相关文章:

c# - 谁能给我指出一个控制台应用程序访问 azure 存储的示例

python - 如何跟踪树遍历的进度?

java - 尝试在 Android 应用程序中随机化几个问题时出错

Android 4.4 从 CardView 移除阴影

javascript - 如何从 Chrome 开发工具导出图像列表

c# - 控制图像名称

kubernetes - kubernetes 的工作节点上没有临时存储资源

Android SOAP解析xml Listview

java - Intent 崩溃应用程序

image - SVG 图像标签在 github README 上不起作用