En el lado web de las cosas, tengo dos campos: nombre y documento. El documento es un campo de archivo, y el nombre es justo lo que el usuario quiere llamar al archivo en la aplicación.¿Cómo puedo cargar un archivo en mi aplicación ruby on rails usando curl CLI?
Esto es lo que he intentado:
curl -F "media[document][email protected]" -F "media[name]=api" "http://example.com/medias/create.xml?api_key=123"
pero me da un error InvalidAuthenticityToken. Este error solo se produce cuando intento cargar un archivo/crear un objeto multimedia. Los otros comandos API/xml funcionan (los que no incluyen archivos)
¿cuál es la forma correcta de cargar un archivo usando cURL?
EDIT: añadiendo -H "Content-Type: application/xml" al comando curl arriba, establecieron el servidor genera este error:
/!\ 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 el XML se suministra con el argumento -d. pero no creo que los archivos se puedan incluir en xml? tal vez ellos pueden? idk.
es una aplicación web y una API. la mayoría de las otras acciones que usan el trabajo POST. pero hay algo raro con el archivo. No debería tener que deshabilitar pretect de falsificación si tengo una clave api, ¿verdad? – NullVoxPopuli
Bueno, eso depende de cómo se implemente el mecanismo api_key, ya que no es algo que los rieles proporcionen de forma predeterminada. – aromero
correcto, está usando restful_auth. http://www.justinbritten.com/work/2009/05/rails-api-authentication-using-restful-authentication/ – NullVoxPopuli