簡體   English   中英

如何使用Carrierwave通過Rails JSON API接受多個文件上傳

[英]How do I accept a multiple file upload through Rails JSON API with Carrierwave

我正在嘗試在包含多個圖像的導軌中允許POST到JSON API。 我一直在使用has_many而不是nested_attributes查找與API上傳相關的信息時遇到麻煩。

我有控制器中的參數。

{"component_1"=>
  #<ActionDispatch::Http::UploadedFile:0x007f8b4b5ac188
   @content_type="image/png",
   @headers=
    "Content-Disposition: form-data; name=\"images[component_1]\"; filename=\"test.png\"\r\nContent-Type: image/png\r\nContent-Length: 2125\r\n",
   @original_filename="test.png",
   @tempfile=
    #<File:/var/folders/t_/991c5xb934q_d6z13gg__7br0000gn/T/RackMultipart20130531-45537-dywznr>>,
 "component_2"=>
  #<ActionDispatch::Http::UploadedFile:0x007f8b4b5ac0e8
   @content_type="image/png",
   @headers=
    "Content-Disposition: form-data; name=\"images[component_2]\"; filename=\"icon.png\"\r\nContent-Type: image/png\r\nContent-Length: 4235\r\n",
   @original_filename="icon.png",
   @tempfile=
    #<File:/var/folders/t_/991c5xb934q_d6z13gg__7br0000gn/T/RackMultipart20130531-45537-ju4uy>>
}

我有一個定義了上傳器的模型。

我實際上如何從UploadedFiles保存圖像? 另外,我想重命名它們,並且在存儲圖像后,我不希望任何臨時文件掛起。

不看您的控制器或模型代碼就很難發表評論,但是話雖如此,答案應該很簡單。

假設您有一個Image模型,在image_file列上安裝了一個上傳器。 如果要在控制器中創建新的Image對象,則對每個上載的圖像組件執行類似Image.create(image_file: params[:component_<number>])的操作。 那應該讓您了解它是如何工作的,但是使用它們可能是更優雅的方法(nested_attributes表示)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM