Как загрузить изображение с Rhomobile

Мне нужно загрузить изображение профиля пользователя на сервер, я сохранил его на базовом пути приложения.

settings = { :camera_type => @params['camera_type'], 
             :color_model => @params['color_model'], 
             :enable_editing => en_ed, 
             :desired_width => width, 
             :desired_height => height, 
             :flash_mode => 'auto',
             :saveToDeviceGallery => 'true'}
Camera::take_picture(url_for(:action => :camera_callback), settings)

Затем при обратном вызове

  Image.create({:id => generateId(), :image_uri => @params['image_uri']})

  file_testname = File.join(Rho::RhoApplication::get_blob_path(@params['image_uri']))
  test_content = File.binread(file_testname)
  new_file_name = File.join(Rho::RhoApplication::get_base_app_path(), @params['image_uri'].to_s().split("/")[2])
  f = File.new(new_file_name, "wb")
  f.write(test_content)
  f.close

Как я могу загрузить это изображение на сервер?


person Community    schedule 16.09.2013    source источник


Ответы (1)


Вы можете использовать API upload_file

new_file_name = File.join(Rho::RhoApplication::get_base_app_path(), image.filename)
if File.exist?(new_file_name)

  # Upload the file
  result = Rho::AsyncHttp.upload_file(
    :url => "#{@@url}/image/upload",
    :filename => new_file_name,
    :headers => {},
    :body => ""
  )

  if result["status"].upcase == "OK"
    Alert.show_popup "Success"
  end

end

Вам нужно заменить image.filename на свой путь.

person Ashis Kumar    schedule 16.09.2013