API:Upload/es

Solicitud POST para cargar un archivo.

Hay tres métodos de cargar archivos a través del API:


 * 1) Cargando un archivo local directamente
 * 2) Cargando una copia de un archivo desde una URL
 * 3) Cargando un archivo local en fragmentos

Todos estos métodos requieren una cuenta con el derecho.

Ejemplo
Hacer cualquier solicitud POST es un proceso de varios pasos:

 Inicia sesión, a través de uno de los métodos descritos en . GET un.

 Envía una solicitud POST, con el token CSRF, para cargar un archivo. 

Ejemplo 1: Cargar un archivo local directamente
Al cargar archivos directamente, la solicitud debe usar  como Content-Type o enctype,   no funcionará.

Ejemplo 2: Carga archivo desde URL
Esto requiere  en la configuración local de la wiki y una cuenta con el derecho de usuario de.

Ejemplo 3: Carga archivo en fragmentos
Dado que cargar un archivo enorme en una única POST HTTP puede no ser fidedigno, la API también admite un modo de carga fragmentado, donde puede realizar múltiples solicitudes con partes del archivo. Esto está disponible en MediaWiki versión 1.20 y superior, aunque antes de la versión 1.25, los SVG no se podían cargar a través de carga fragmentada. This is used by in browsers supporting FileAPI, uploading files in chunks of 1 megabyte, but you may choose your own size. This works in conjunction with the stash mode, to build a file up in pieces and then commit it at the end.

Step 1: Pass content for the first chunk


For all the chunks except the last chunk you will receive this:

Step 2: Pass filekey parameter for second and further chunks
You will obtain the  parameter from the previous continue result as well:



For the last chunk, you will receive this:

Step 3: Final upload using the filekey to commit the upload out of the stash area


The result from the final upload will include the complete, accurate  object, comparable to what you would get from a non-chunked upload.

Parameter history

 * v1.21: Introduced
 * v1.19: Introduced
 * v1.18: Introduced
 * v1.17: Introduced,  ,  ,
 * v1.18: Deprecated
 * v1.17: Deprecated

Notas adicionales

 * To check the status of an in-progress upload to the stash or the progress of a file being published from the stash, send a POST request:


 * Below is an example of a multipart POST to, representing a single chunk. Note that you must unstash the file for it to appear in the Wiki once you have successfully uploaded all your chunks.

User-Agent:  Content-Type: multipart/form-data; boundary=--24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Host: commons.wikimedia.org Cookie: Connection: Keep-Alive

--24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="filename" Content-Length: 20

UploadTest356456.png --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="offset" Content-Length: 1

0 --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="format" Content-Length: 4

json --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="ignorewarnings" Content-Length: 1

1 --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="filesize" Content-Length: 3

971 --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="token" Content-Length: 42

 --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="stash" Content-Length: 1

1 --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b Content-Disposition: form-data; name="chunk"; filename="1.png" Content-Type: application/octet-stream Content-Length: 971

 --24b7c3bb-fb4d-45c3-937c-11c2e0c2525b--

Véase también

 * - Allows a user to login
 * - Allows a user to import a page