API:Upload/tr

Bir dosya yüklemek için POST isteği.

API aracılığıyla dosya yüklemenin üç yöntemi vardır:


 * 1) Yerel bir dosyayı doğrudan yükleme
 * 2) URL'den bir dosyanın kopyasını karşıya yükleme
 * 3) Parçalar halinde yerel dosya yükleme

Bu yöntemlerin tümü için  hakkına sahip bir hesap gerekir.

Örnek
Herhangi bir POST isteği yapmak çok adımlı bir işlemdir:

  üzerinde açıklanan yöntemlerden birini kullanarak oturum açın.  GET'i:

 Dosya yüklemek için CSRF jetonuyla bir POST isteği gönderin. 

Örnek 1: Doğrudan yerel bir dosya yükleyin
Dosyaları doğrudan yüklerken, istek İçerik Türü veya şifreleme olarak  kullanmalıdır,   çalışmaz.

Örnek 2: URL'den dosya yükleyin
Bu, vikinin yerel ayarlarında  ve   kullanıcı hakkına sahip bir hesap gerektirir.

Örnek 3: Dosyayı parçalar halinde yükleyin
Tek bir HTTP POST'a büyük bir dosya yüklemek güvenilmez olabileceğinden, API ayrıca dosyanın bazı bölümleriyle birden fazla istekte bulunduğunuz yığınlanmış bir yükleme modunu da destekler. Bu, MediaWiki sürüm 1.20 ve sonraki sürümlerde kullanılabilir, ancak sürüm 1.25'ten önce SVG'ler yığın yükleme yoluyla yüklenemedi. Bu, tarafından FileAPI destekleyen tarayıcılarda kullanılır ve 1 megabaytlık parçalara dosya yükler, ancak kendi boyutunuzu seçebilirsiniz. Bu, stash modu ile birlikte çalışır, bir dosyayı parçalara ayırır ve sonunda taahhüt eder.

1. Adım: İlk yığın için içerik iletin


Son yığın hariç tüm parçalar için bunu alacaksınız:

2. Adım: İkinci ve sonraki parçalar için filekey parametresini iletin
parametresini önceki devam eden sonuçtan da alacaksınız:



Son yığın için bunu alacaksınız:

Adım 3: Stash alanından yüklemeyi tamamlamak için filekey kullanarak son yükleme


Son yüklemenin sonucu, yığınlanmamış bir yüklemeden alacağınızla karşılaştırılabilir tam, doğru  nesnesini içerir.

Parametre geçmişi

 * v1.21:    tanıtıldı
 * v1.19: Introduced
 * v1.18: Introduced
 * v1.17: Introduced,  ,  ,
 * v1.18: Deprecated
 * v1.17: Deprecated

Additional notes

 * 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--