Po stronie internetowej mam dwa pola: nazwę i dokument. Dokument to pole pliku, a nazwa jest tym, co użytkownik chce wywołać w aplikacji.Jak mogę przesłać plik do aplikacji Ruby on rails przy użyciu CLI z curl?
Oto co próbowałem:
curl -F "media[document][email protected]" -F "media[name]=api" "http://example.com/medias/create.xml?api_key=123"
ale dostaję błąd InvalidAuthenticityToken. Ten błąd występuje tylko wtedy, gdy próbuję przesłać plik/utworzyć obiekt multimedialny. Inne polecenia interfejsu API/xml działają (te, które nie dotyczą plików).
jaki jest prawidłowy sposób przesłania pliku przy użyciu cURL?
EDIT: dodanie -H "Content-Type: application/xml" do powyższego polecenia curl zrobić serwer generuje ten błąd:
/!\ FAILSAFE /!\ Tue Jan 24 08:45:03 -0500 2012
Status: 500 Internal Server Error
#<REXML::ParseException: malformed XML: missing tag start
Line:
Position:
Last 80 unconsumed characters:
<:??OH?ɽ?H? ???g??yx~t????op?.$?????P&W ??"?
zwykle XML jest dostarczany za pomocą -d argument. ale nie sądzę, że pliki mogą być zawarte w xml? może mogą? idk.
to aplikacja internetowa i interfejs API. większość innych działań, które wykorzystują pracę POST. ale z plikiem jest coś dziwnego. Nie powinienem był wyłączyć pretretu z fałszerstwa, jeśli mam klucz API, prawda? – NullVoxPopuli
Cóż, to zależy od tego, w jaki sposób jest implementowany mechanizm api_key, brzmi, ponieważ nie jest to coś, co domyślnie zapewnia szyn. – aromero
racja, używa restful_auth. http://www.justinbritten.com/work/2009/05/rails-api-authentication-using-restful-authentication/ – NullVoxPopuli