Как перенести файлы на сервер Rails 3.1 с помощью phonegap API? - PullRequest
0 голосов
/ 12 декабря 2011

Я использую phonegap 1.2.0 для мобильной разработки, целью которой является загрузка файла на удаленный сервер, который является приложением rails3.1.

Я использую FileTransfer в Phonegap API, и я делаю вещиточно так же, как в примере Phonegap API , но я не могу получить файл в рельсах.

Кто-нибудь может сказать мне, как получить файл в моем приложении rails?

Спасибо!

1 Ответ

1 голос
/ 12 декабря 2011

Я этого не делал, но думаю, вам придется использовать скрепку .

Добавьте эту строку в ваш gemfile

gem "paperclip", "~> 2.4"

Тогда в вашей картинке модель

has_attached_file :image, :styles => { :medium => "150x150>", :thumb => "50x50#" }
 # you don't need the styles, I just put them there so you know you can.

сделать миграцию

class AddImageToPicture < ActiveRecord::Migration
  def self.up
      add_column :picture, :image_file_name, :string 
      add_column :picture, :image_content_type, :string
      add_column :picture, :image_file_size, :integer 
  end

конец запустите миграцию.

в приложении PhoneGap вы можете сделать.

<form accept-charset="UTF-8" action="/pictures" class="picture_user" enctype="multipart/form-data" id="new_user" method="post">
<input id="user_image" name="user[image]" type="file">
</form>

Но, возможно, есть лучший способ перехода к форме. Не проверено

обновление Вы можете попробовать это как есть. Ключ должен послать в правильных вариантах для скрепки. Создайте приложение rails с помощью paperclip и найдите параметры, которые paperclip отправляет на сервер из формы. Затем добавьте параметры в FileUploadOptions ();

var options = new FileUploadOptions();
            options.fileKey="file";
            options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1);
            options.mimeType="image/jpeg";
            options.params = params;
            var ft = new FileTransfer();
            ft.upload(imageURI, "http://some.server.com/upload.php", win, fail, options);
...