0
我們在Android上創建了一個用戶可以上傳圖像的應用程序。該圖像通過Rails應用程序中的發佈請求作爲位圖發送。我得到的一個例子是this。從十六進制代碼重新創建圖像
我想用這個十六進制代碼字符串重新創建圖像,然後將它保存到我的Rails應用程序,就像我可以用Paperclip做的那樣。
任何提示或正確的方向指導將非常感激。
我們在Android上創建了一個用戶可以上傳圖像的應用程序。該圖像通過Rails應用程序中的發佈請求作爲位圖發送。我得到的一個例子是this。從十六進制代碼重新創建圖像
我想用這個十六進制代碼字符串重新創建圖像,然後將它保存到我的Rails應用程序,就像我可以用Paperclip做的那樣。
任何提示或正確的方向指導將非常感激。
對於我來說,這看起來非常像一個JPEG文件(它具有0xFFD8FF
開始),所以你可以只將字符串保存到一個文件,就大功告成了:
class UploadsController
def create
storage_path.open('w') {|f| f.write params[:file] }
head :ok
end
protected
def storage_path
@storage_path ||= Rails.root.join('data/uploads', current_user.id, Time.now.to_i.to_s(36) << '.jpg')
end
end
。當然,這是假設你有一個current_user
方法標識登錄的用戶(例如Devise),並且你想在$RAILS_ROOT/data/uploads/$USER_ID/
本地保存該文件。
對於生產,我會創建一個Upload
(或Image
(或Media
))模型(belongs_to :user
),和移動處理邏輯(即找到存儲的地方,將字符串轉換爲文件中,額外的檢查)轉換成類。
只需將'params [:file]'寫入文件 – 2014-09-06 11:27:50