【发布时间】:2018-04-05 17:28:51
【问题描述】:
我正在尝试通过curl 将文件发送到控制器操作。
这是我尝试过的:
curl -F "file=wb.csv" http://localhost:3000/api/v1/process_data?api_key=Dp9Kv7j1y-FYytd-tYsAsSNic3ox
但是,在我的控制器中,我检查了发送的参数的内容,它只返回文件名 wb.csv 而不是 csv 附件:
{"file"=>"wb.csv", "api_key"=>"Dp9Kv7j1y-FYytd-tYsAsSNic3ox", "format"=>"json", "action"=>"import_csv", "controller"=>"api/v1/growth_utils"}
我想实现与从 UI 上的表单发帖一样的效果:
<%= form_tag import_csv_admin_growths_path, multipart: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Import" %>
<%end%>
控制器动作中有哪些参数:
{"file"=>
#<ActionDispatch::Http::UploadedFile:0x007faa0543b7d0
@content_type="text/csv",
@headers="Content-Disposition: form-data; name=\"file\"; filename=\"wb.csv\"\r\nContent-Type: text/csv\r\n",
@original_filename="wb.csv",
@tempfile=#<File:/var/folders/zq/kk1mrjjn52zdf8120c4z4tb80000gn/T/RackMultipart20180405-21787-17k4lup>>,
"commit"=>"Import",
"format"=>"csv",
"action"=>"import_csv",
"controller"=>"admin/growths"}
【问题讨论】:
标签: ruby-on-rails csv curl