Sul lato web delle cose, ho due campi: nome e documento. Il documento è un campo file e il nome è proprio ciò che l'utente desidera chiamare il file nell'app.Come posso caricare un file sul mio ruby sull'app rails utilizzando la CLI curl?
Ecco che cosa ho provato:
curl -F "media[document][email protected]" -F "media[name]=api" "http://example.com/medias/create.xml?api_key=123"
ma ottengo un errore InvalidAuthenticityToken. Questo errore si verifica solo quando provo a caricare un file/creare un oggetto multimediale. Gli altri comandi API/xml funzionano (quelli che non riguardano i file)
qual è il modo corretto di caricare un file utilizzando cURL?
EDIT: aggiungendo -H "Content-Type: application/xml" al comando ricciolo sopra rendere il server genera questo errore:
/!\ 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 ??"?
normalmente l'XML viene fornito utilizzando l'argomento -d. ma non penso che i file possano essere inclusi in xml? forse possono? idk.
è un'app Web e un'API. la maggior parte delle altre azioni che usano il POST funzionano. ma c'è solo qualcosa di strano nel file. Non dovrei disabilitare il pretesto dalla contraffazione se ho una chiave API, giusto? – NullVoxPopuli
Bene, questo dipende da come viene implementato il meccanismo api_key, suona come non è qualcosa che le rotaie fornisce di default. – aromero
a destra, sta usando restful_auth. http://www.justinbritten.com/work/2009/05/rails-api-authentication-using-restful-authentication/ – NullVoxPopuli