{"id":27814,"date":"2017-12-22T20:29:55","date_gmt":"2017-12-22T20:29:55","guid":{"rendered":"https:\/\/dev.railscarma.com\/upload-files-directly-s3-using-paperclip-dropzone-js\/"},"modified":"2021-06-05T07:04:12","modified_gmt":"2021-06-05T07:04:12","slug":"cargar-archivos-directamente-s3-usando-paperclip-dropzone-js","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/cargar-archivos-directamente-s3-usando-paperclip-dropzone-js\/","title":{"rendered":"Cargue archivos directamente a S3 usando Paperclip y Dropzone.js"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"27814\" class=\"elementor elementor-27814\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2c821db0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2c821db0\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-475f1c5e\" data-id=\"475f1c5e\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a9dd12a elementor-widget elementor-widget-text-editor\" data-id=\"a9dd12a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\n<p>Generalmente son las peque\u00f1as tareas que consumen mucho tiempo las que m\u00e1s nos frustran. Como cargar un archivo a S3; El requisito es bastante simple, pero el m\u00e9todo elegido para cargar el archivo decidir\u00e1 la eficiencia de la tarea. Como cargar archivos es una caracter\u00edstica que requieren la mayor\u00eda de las aplicaciones, RailsCarma ha compilado un breve tutorial sobre uno de los mejores m\u00e9todos para realizar esta tarea de manera eficiente: usar Paperclip y Dropzone.js.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Clip de papel<\/strong> es una opci\u00f3n popular para cargar im\u00e1genes y archivos, ya que ofrece excelentes funciones para manejar los archivos adjuntos; La gema &#039;clip&#039; es la opci\u00f3n preferida. Paperclip le permite cargar varias im\u00e1genes y archivos, generar miniaturas e incluso cambiar el tama\u00f1o de las im\u00e1genes autom\u00e1ticamente. Se jacta de contar con una comunidad grande y activa, lo que la convierte en la mejor opci\u00f3n para la mayor\u00eda de los desarrolladores.<\/li><li><strong>Dropzone.js<\/strong> es una biblioteca de c\u00f3digo abierto con funciones de arrastrar y soltar archivos (con vista previa de im\u00e1genes).<\/li><li><strong>amazon s3<\/strong> es un dispositivo de almacenamiento simple para el almacenamiento de datos. Podemos usarlo para recuperar im\u00e1genes y todo tipo de archivos.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00bfPor qu\u00e9 clip?<\/strong><\/h3>\n\n\n\n<p>Paperclip es una herramienta popular para cargar archivos por las siguientes razones:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Admite almacenamiento en cach\u00e9 de archivos:<\/strong><br>Si un formulario no se valida, no queremos que el usuario vuelva a seleccionar su archivo y lo vuelva a cargar. Por lo tanto, el almacenamiento en cach\u00e9 de archivos es necesario desde el punto de vista de UX. Y tambi\u00e9n conserva el ancho de banda.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Im\u00e1genes de Procesos<\/strong><br>Paperclip puede cambiar el tama\u00f1o y recortar im\u00e1genes en varios formatos diferentes, lo que permite al desarrollador elegir la biblioteca.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>\u00a1Simplifica la tarea!<\/strong><br>\u00a1La gema Paperclip no contamina su c\u00f3digo y es f\u00e1cil de probar!<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Permite el procesamiento de archivos<\/strong><br>Paperclip permite el procesamiento de archivos para la extracci\u00f3n de datos EXIF y la creaci\u00f3n de miniaturas de archivos PDF, PSD, DOC y XLSX cargados.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Proporciona CDN y soporte de servicio de almacenamiento&nbsp;<\/strong><br>Esta es una gran ventaja ya que queremos mantener el ancho de banda de nuestros servidores lo m\u00e1s bajo posible y evitar una posible p\u00e9rdida de datos debido a una falla del servidor.<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>Ofrece procesamiento sobre la marcha<\/strong><br>Paperclip procesa im\u00e1genes y archivos por solicitud. Esta es una caracter\u00edstica innovadora que permite a los desarrolladores crear contenido personalizado que se adapte mejor a diferentes situaciones.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfQu\u00e9 son los eventos asincr\u00f3nicos de Dropzone?<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>archivo agregado:<\/strong>&nbsp; Cuando se agrega un archivo a la lista.<\/li><li><strong>archivo eliminado:<\/strong> Se utiliza siempre que se elimina un archivo de la lista. Puede escuchar esto y eliminar el archivo de su servidor si lo desea.<\/li><li><strong>miniatura:<\/strong> Cuando se ha generado la miniatura. Recibe la URL de datos como segundo par\u00e1metro.<\/li><li><strong>error:<\/strong> Se produjo un error recibe el mensaje de error como segundo par\u00e1metro. Y si el error se debi\u00f3 a xmlhttprequest, se recibe el objeto xhr como tercer par\u00e1metro.<\/li><li><strong>Procesando:<\/strong> Cuando se procesa un archivo (dado que hay una cola, no todos los archivos se procesan inmediatamente). Este evento se llamaba anteriormente archivo de procesamiento.<\/li><li><strong>gota:<\/strong> El usuario dej\u00f3 caer algo en la zona de ca\u00edda.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo podemos configurar Paperclip en nuestra aplicaci\u00f3n?<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>has_attached _file: activo<\/li><li>:almacenamiento =&gt; :s3<\/li><li>:S3_host_name =&gt; ENV[\u201cS3_HOST_NAME\u201d]<\/li><li>:S3_regi\u00f3n =&gt; ENV[\u201cS3_REGION\u201d]<\/li><li>:S3_protocol =&gt; ENV[\u201cS3_PROTOCOL\u201d]<\/li><li>:path =&gt; \u201c:account_id\/:class\/:source_id\/:attachment\/:file_name\u201d,:s3_headers =&gt; {&#039;ContentDisposition&#039; =&gt; &#039;adjunto&#039;, &#039;content-type&#039; =&gt;&#039;application\/octet_stream&#039;},<br>: dep\u00f3sito =&gt; ENV[\u201cS3_BUCKET\u201d],<br>:s3_credentials =&gt; Proc.new{|a| una.instancia.s3_credentials}<\/li><li>Do_not_validate_attachment_file_type: activo<\/li><li>def s3_credenciales<br>{:access_key_id =&gt; ENV[\u201cS3_ACCESS_KEY_ID\u201d], :secret_access_key =&gt; ENV[\u201cS3_SECRET_ACCESS_KEY\u201d]}<\/li><\/ul>\n\n\n\n<p>fin<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u00bfC\u00f3mo podemos manejar rutas personalizadas en nuestra aplicaci\u00f3n?<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code>Paperclip.interpolates :attachment do |attachment, style|Image_extension = [\u201cjpg\u201d, \u201cjpeg\u201d, \u201cgif\u201d, \u201cpng\u201d, \u201cPNG\u201d, \u201cGIF\u201d, \u201cJPEG\u201d, \u201cJPG\u201d]\nextname = File.extname(attachment.instance.asset_file_name).downcase.gsub(\/\\.\/, \u2018\u2019)\nif img_extension.include? (extname)\nreturn \u201cimages\u201d\nelse\nreturn extname\nend\nend\nPaperclip.interpolates :file_name do |attachment, style|file_name = attachment.instance.asset_file_name\nEnd<\/code><\/pre>\n\n\n\n<p>Los datos del dep\u00f3sito S3 se pueden recuperar cuando sea necesario. Pero tiene una limitaci\u00f3n: manejar rutas personalizadas para diferentes estructuras de directorios puede resultar bastante engorroso. El clip puede resultar \u00fatil en tales situaciones. Es una gran herramienta para cargar y almacenar im\u00e1genes en un dep\u00f3sito S3 utilizando AWS.<\/p>\n\n\n\n<p>En <a href=\"https:\/\/www.railscarma.com\/es\/\" target=\"_blank\" rel=\"noreferrer noopener\">Railscarma<\/a>, desarrollamos y brindamos servicios de aplicaciones web de vanguardia utilizando los marcos de Ruby para nuestros clientes en todo el mundo.<br>\u00bfQuiere soluciones innovadoras para cualquier otro problema relacionado con el desarrollo ferroviario? <a href=\"\/es\/contactenos\/\" target=\"_blank\" rel=\"noreferrer noopener\">Ponte en contacto con nosotros ahora<\/a>!<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-619ac7f4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"619ac7f4\" data-element_type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-7aa58ff8\" data-id=\"7aa58ff8\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-46be78ec elementor-widget elementor-widget-heading\" data-id=\"46be78ec\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Suscr\u00edbete para recibir las \u00faltimas actualizaciones<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-450fc94f elementor-widget elementor-widget-shortcode\" data-id=\"450fc94f\" data-element_type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\t\t\t\t\t<script type=\"text\/javascript\">\n\t\t\t\t\t\tvar gCaptchaSibWidget;\n                        var onloadSibCallbackInvisible = function () {\n\n                            var element = document.getElementsByClassName('sib-default-btn');\n                            var countInvisible = 0;\n                            var indexArray = [];\n                            jQuery('.sib-default-btn').each(function (index, el) {\n                                if ((jQuery(el).attr('id') == \"invisible\")) {\n                                    indexArray[countInvisible] = index;\n                                    countInvisible++\n                                }\n                            });\n\n                            jQuery('.invi-recaptcha').each(function (index, el) {\n                                grecaptcha.render(element[indexArray[index]], {\n                                    'sitekey': jQuery(el).attr('data-sitekey'),\n                                    'callback': sibVerifyCallback,\n                                });\n                            });\n                        };\n\t\t\t\t\t<\/script>\n\t\t\t\t\t                <script src=\"https:\/\/www.google.com\/recaptcha\/api.js?onload=onloadSibCallbackInvisible&render=explicit\" async defer><\/script>\n\t\t\t\t\n\t\t\t<form id=\"sib_signup_form_1\" method=\"post\" class=\"sib_signup_form\" action=\"\">\n\t\t\t\t<div class=\"sib_loader\" style=\"display:none;\"><img\n\t\t\t\t\t\t\tsrc=\"https:\/\/www.railscarma.com\/wp-includes\/images\/spinner.gif\" alt=\"cargador\"><\/div>\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_action\" value=\"subscribe_form_submit\">\n\t\t\t\t<input type=\"hidden\" name=\"sib_form_id\" value=\"1\">\n                <input type=\"hidden\" name=\"sib_form_alert_notice\" value=\"Please fill out this field\">\n                <input type=\"hidden\" name=\"sib_form_invalid_email_notice\" value=\"Your email address is invalid\">\n                <input type=\"hidden\" name=\"sib_security\" value=\"d7f7626ab9\">\n\t\t\t\t<div class=\"sib_signup_box_inside_1\">\n\t\t\t\t\t<div style=\"\/*display:none*\/\" class=\"sib_msg_disp\">\n\t\t\t\t\t<\/div>\n                                            <div id=\"sib_captcha_invisible\" class=\"invi-recaptcha\" data-sitekey=\"6LdikOAaAAAAAJ6SWrrKVQrtw7TQpQAEnv0HS0G3\"><\/div>\n                    \t\t\t\t\t<p class=\"sib-email-area\">\r\n    <label class=\"sib-email-area\"><\/label>\r\n    <input type=\"email\" class=\"sib-email-area\" name=\"email\" required=\"required\" placeholder=\"Direcci\u00f3n de correo electr\u00f3nico\">\r\n<\/p>\r\n<p class=\"sib-NAME-area\">\r\n    <label class=\"sib-NAME-area\"><\/label>\r\n    <input type=\"text\" class=\"sib-NAME-area\" name=\"NAME\" placeholder=\"Nombre\">\r\n<\/p>\r\n<p>\r\n    <input type=\"submit\" id=\"invisible\" class=\"sib-default-btn\" value=\"Suscribir\">\r\n<\/p>\t\t\t\t<\/div>\n\t\t\t<input type=\"hidden\" name=\"trp-form-language\" value=\"es\"\/><\/form>\n\t\t\t<style>\n\t\t\t\tform#sib_signup_form_1 p.sib-alert-message {\n    padding: 6px 12px;\n    margin-bottom: 20px;\n    border: 1px solid transparent;\n    border-radius: 4px;\n    -webkit-box-sizing: border-box;\n    -moz-box-sizing: border-box;\n    box-sizing: border-box;\n}\nform#sib_signup_form_1 p.sib-alert-message-error {\n    background-color: #f2dede;\n    border-color: #ebccd1;\n    color: #a94442;\n}\nform#sib_signup_form_1 p.sib-alert-message-success {\n    background-color: #dff0d8;\n    border-color: #d6e9c6;\n    color: #3c763d;\n}\nform#sib_signup_form_1 p.sib-alert-message-warning {\n    background-color: #fcf8e3;\n    border-color: #faebcc;\n    color: #8a6d3b;\n}\n\t\t\t<\/style>\n\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Art\u00edculos Relacionados<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"gema kaminari\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2023\/04\/kaminari-gem-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Gema Kaminari\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/gema-kaminari\/?related_post_from=37277\">\r\n        Gema Kaminari  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg\" class=\"attachment-full size-full wp-post-image\" alt=\"por qu\u00e9 contratar desarrolladores de Ruby on Rails en 2022\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022.jpg 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-300x113.jpg 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2019\/01\/why-to-hire-ruby-on-rails-developers-in-2022-768x288.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"\u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?\" href=\"https:\/\/www.railscarma.com\/es\/blog\/ror\/por-que-contratar-desarrolladores-de-ruby-on-rails\/?related_post_from=30627\">\r\n        \u00bfPor qu\u00e9 contratar desarrolladores Ruby on Rails en 2026?  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Extracci\u00f3n de datos en rieles mediante procesamiento CSV\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-datos-en-rieles-mediante-el-procesamiento-de-csv\/?related_post_from=31591\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/09\/DATA-SCRAPING-IN-RAILS-BY-PROCESSING-CSV-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Extracci\u00f3n de datos en rieles mediante procesamiento CSV\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/raspado-de-datos-en-rieles-mediante-el-procesamiento-de-csv\/?related_post_from=31591\">\r\n        Extracci\u00f3n de datos en rieles mediante procesamiento CSV  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/realizar-llamadas-de-voz-a-traves-de-aplicaciones-web-ruby-on-rails\/?related_post_from=31309\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png\" class=\"attachment-full size-full wp-post-image\" alt=\"\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/07\/MAKE-VOICE-CALLS-THROUGH-RUBY-ON-RAILS-WEB-APPLICATIONS-768x288.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/realizar-llamadas-de-voz-a-traves-de-aplicaciones-web-ruby-on-rails\/?related_post_from=31309\">\r\n        Realice llamadas de voz a trav\u00e9s de aplicaciones web Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>It\u2019s usually the small time-consuming tasks that frustrate us the most. Such as uploading a file to S3; the requirement is pretty simple but the method chosen to upload the file will decide the efficiency of the task. As uploading files is a feature that most applications require, RailsCarma has compiled a brief tutorial on &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/es\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Soluciones de integraci\u00f3n de API de terceros en Ruby on Rails<\/span> Leer m\u00e1s \u00bb<\/a><\/p>","protected":false},"author":1,"featured_media":31706,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[384],"tags":[382],"class_list":["post-27814","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technical-articles","tag-ruby-on-rails"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Upload Files Directly To S3 Using Paperclip And Dropzone.js - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"Upload Files Directly To S3 Using Paperclip And Dropzone.js It\u2019s usually the small time-consuming tasks that frustrate us the most. Such as uploading a file to S3; the requirement is pretty simple but the method\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/cargar-archivos-directamente-s3-usando-paperclip-dropzone-js\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Upload Files Directly To S3 Using Paperclip And Dropzone.js - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"Upload Files Directly To S3 Using Paperclip And Dropzone.js It\u2019s usually the small time-consuming tasks that frustrate us the most. Such as uploading a file to S3; the requirement is pretty simple but the method\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/cargar-archivos-directamente-s3-usando-paperclip-dropzone-js\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2017-12-22T20:29:55+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-06-05T07:04:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\"},\"headline\":\"Upload Files Directly To S3 Using Paperclip And Dropzone.js\",\"datePublished\":\"2017-12-22T20:29:55+00:00\",\"dateModified\":\"2021-06-05T07:04:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/\"},\"wordCount\":673,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png\",\"keywords\":[\"Ruby on rails\"],\"articleSection\":[\"Technical Articles\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/\",\"name\":\"Upload Files Directly To S3 Using Paperclip And Dropzone.js - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png\",\"datePublished\":\"2017-12-22T20:29:55+00:00\",\"dateModified\":\"2021-06-05T07:04:12+00:00\",\"description\":\"Upload Files Directly To S3 Using Paperclip And Dropzone.js It\u2019s usually the small time-consuming tasks that frustrate us the most. Such as uploading a file to S3; the requirement is pretty simple but the method\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png\",\"width\":800,\"height\":300},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Upload Files Directly To S3 Using Paperclip And Dropzone.js\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cargue archivos directamente a S3 usando Paperclip y Dropzone.js - RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"Cargue archivos directamente a S3 usando Paperclip y Dropzone.js Generalmente son las peque\u00f1as tareas que consumen mucho tiempo las que m\u00e1s nos frustran. Como cargar un archivo a S3; El requisito es bastante simple pero el m\u00e9todo.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/cargar-archivos-directamente-s3-usando-paperclip-dropzone-js\/","og_locale":"es_ES","og_type":"article","og_title":"Upload Files Directly To S3 Using Paperclip And Dropzone.js - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"Upload Files Directly To S3 Using Paperclip And Dropzone.js It\u2019s usually the small time-consuming tasks that frustrate us the most. Such as uploading a file to S3; the requirement is pretty simple but the method","og_url":"https:\/\/www.railscarma.com\/es\/blog\/articulos-tecnicos\/cargar-archivos-directamente-s3-usando-paperclip-dropzone-js\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2017-12-22T20:29:55+00:00","article_modified_time":"2021-06-05T07:04:12+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png","type":"image\/png"}],"author":"admin","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Escrito por":"admin","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/"},"author":{"name":"admin","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21"},"headline":"Upload Files Directly To S3 Using Paperclip And Dropzone.js","datePublished":"2017-12-22T20:29:55+00:00","dateModified":"2021-06-05T07:04:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/"},"wordCount":673,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png","keywords":["Ruby on rails"],"articleSection":["Technical Articles"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/","url":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/","name":"Cargue archivos directamente a S3 usando Paperclip y Dropzone.js - RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png","datePublished":"2017-12-22T20:29:55+00:00","dateModified":"2021-06-05T07:04:12+00:00","description":"Cargue archivos directamente a S3 usando Paperclip y Dropzone.js Generalmente son las peque\u00f1as tareas que consumen mucho tiempo las que m\u00e1s nos frustran. Como cargar un archivo a S3; El requisito es bastante simple pero el m\u00e9todo.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2017\/12\/Upload-Files-Directly-To-S3-Using-Paperclip-And-Dropzone.js2_.png","width":800,"height":300},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/technical-articles\/upload-files-directly-s3-using-paperclip-dropzone-js\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Upload Files Directly To S3 Using Paperclip And Dropzone.js"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Empresa de desarrollo Ruby on Rails especializada en desarrollo offshore","description":"RailsCarma es una empresa de desarrollo de Ruby on Rails en Bangalore. Nos especializamos en el desarrollo offshore de Ruby on Rails con sede en EE. UU. e India. Contrate desarrolladores experimentados de Ruby on Rails para disfrutar de la mejor experiencia web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RielesCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/5f2228a2dec7549056e709de6eb85d21","name":"administraci\u00f3n","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/308867ca6c81f3aba146080c601000087180326f752c4116849ea9f514c6a4fa?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/www.railscarma.com\/hire-ruby-on-rails-developer\/"]}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/27814","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/comments?post=27814"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/posts\/27814\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media\/31706"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/media?parent=27814"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/categories?post=27814"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/es\/wp-json\/wp\/v2\/tags?post=27814"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}