這取決於您如何建模附件(如s3的路徑和url方案),但在最常見的情況下,您可以簡單地使用必須的屬性(包括文件名)創建對象upload_url值。然後,可以像上次記錄最初通過回形針創建一樣訪問上傳記錄。
1.9.3p194 :069 > u = Attachment.new
=> #<Attachment id: nil, type: nil, attachable_id: nil, attachable_type: nil, attachment_file_name: nil, attachment_content_type: nil, attachment_file_size: nil, attachment_updated_at: nil, created_at: nil, updated_at: nil>
1.9.3p194 :070 > u.attachment_file_name = 'fdssfd.txt'
=> "fdssfd.txt"
1.9.3p194 :071 > u.attachment
=> /system/assets/images/paperclip/development//original/fdssfd.txt
1.9.3p194 :072 > u.save
(0.3ms) BEGIN
SQL (0.5ms) INSERT INTO `attachments` (`attachable_id`, `attachable_type`, `attachment_content_type`, `attachment_file_name`, `attachment_file_size`, `attachment_updated_at`, `created_at`, `type`, `updated_at`) VALUES (NULL, NULL, NULL, 'fdssfd.txt', NULL, NULL, '2012-09-18 14:24:26', NULL, '2012-09-18 14:24:26')
[paperclip] Saving attachments.
(1.4ms) COMMIT
=> true
1.9.3p194 :073 > u.attachment
=> /system/assets/images/paperclip/development/5/original/fdssfd.txt
謝謝。這不是一個非常令人滿意的解決方案,但它可能是我唯一的選擇,並且使我無需將數據傳輸到服務器並返回到S3。 – kpopper
我會繼續尋找,但可能最終會有這樣的事情。乾杯。 – kpopper
如何將上傳的文件或文件數據的url鏈接到回形針附件中? – rigyt