Ukulayisha iifayile kusetyenziswa izicelo ze-HTTP Multipart

  • Umgangatho we-multipart/form-data uvumela ukuthumela idatha ye-binary kunye nombhalo kwisicelo esinye se-HTTP ngokusebenzisa imida.
  • Ngokungafaniyo ne-Base64 okanye i-URL-encoding, le ndlela isebenza kakuhle kakhulu ngokuthintela ukwanda kobukhulu befayile.
  • Ukuphunyezwa ngokuchanekileyo kufuna ukuvumela umthengi we-HTTP ukuba aphathe i-Content-Type ukuqinisekisa ukuveliswa ngokuzenzekelayo komda wokwahlulahlula.

Ukulayisha iifayile kusetyenziswa izicelo ze-HTTP Multipart

Ukuba wakha wasokola nge-API ezama ukulayisha umfanekiso, isandi, okanye naluphi na uxwebhu, uyazi ukuba akulula njengokuthumela umbhalo oqhelekileyo. ukulayisha iifayile kusetyenziswa izicelo ze-HTTP Yintsika esisiseko kuye nawuphi na umphuhlisi osebenza ngeenkonzo ze-AI, ukugcinwa kwelifu okanye iinkqubo zokuthengisa amatikiti, kodwa ukuba awuqondi ukuba kwenzeka ntoni phantsi kwe-hood, kusenokwenzeka ukuba udibane neempazamo zeseva eziphazamisayo.

Ukuze yonke into isebenze kakuhle, kubalulekile ukuqonda ukuba idatha ye-binary ayisebenzi kakuhle kwiifomathi zesicatshulwa zendabuko. Yiyo loo nto umgangatho ukho. Amacandelo amaninzi/ifomu-data, isisombululo esenzelwe ukupakisha iintlobo ezahlukeneyo zomxholo kwingxelo enye, evumela iseva ukuba yazi ngqo apho intsimi yombhalo iphela khona kwaye apho umsinga wefayile uqala khona.

Yintoni kanye kanye i-multipart/form-data kwaye isebenza njani?

Ngokwenyani, luhlobo lomxholo olukuvumela ukuba ungenise idatha yefom edibanisa umbhalo kunye neefayile ze-binary. application/x-www-form-urlencoded, eyindlela eqhelekileyo yamasimi alula okubhaliweyo, ifomathi ye-multipart yahlula umzimba wesicelo kwi iindawo ezizimeleyo.

Imfihlo yale nkqubo yonke yile nto ibizwa ngokuba umdaOlu luluhlu olukhethekileyo nolungacwangciswanga lwabalinganiswa olusebenza njengomda. Iseva isebenzisa esi sihlonzi ukwahlula ibhloko nganye yedatha. Ukuba uzama ukumisela i-header Content-Type Ukuhlaziya ngesandla ngaphandle kokufaka lo mda kuya kubangela ukuba iseva iqine kwaye ibuyisele impazamo ye-400, njengoko ingayazi indlela yokuhlaziya ulwazi.

Ukuthelekiswa kweendlela zokubhala iikhowudi

Kuqhelekile ukuzibuza ukuba kufuneka usebenzise i-JSON ene-Base64 okanye i-multipart encoding. Nantsi ke into yokuba i-multipart encoding idla ngokuphumelela:

  • application/x-www-form-urlencoded: Isebenza kuphela kwiibhangqa ezilula zexabiso lesitshixo. Ukuzama ukulayisha ifayile yebhinari apha akunakwenzeka ngenxa yesidingo sokubaleka kwe-URL, nto leyo eyenza kube ayisebenzi kakuhle kakhulu.
  • application/json con Base64: Kunokwenzeka, kodwa kuza ngexabiso. Ukuguqula ifayile ibe yi-Base64 kwandisa ubungakanani bayo malunga [nemali engekhoyo]. 33%Oku kubangela ukusetyenziswa okuphezulu kwe-bandwidth kunye nomthwalo we-CPU owandisiweyo kwiseva.
  • multipart/form-data: Lukhetho lwemveli lweefayile. Lukuvumela ukuba uzithumele. idatha yebhinari ngqo ngaphandle kwe-encodings engaqhelekanga, kuba yeyona ndlela ikhawulezayo nelula.
Iifoto zikaGoogle zeNextcloud
Inqaku elidibeneyo:
Yenza ilifu lakho lobuqu ngeNextcloud kwaye ulibale ngeeFoto zikaGoogle

Ukuphunyezwa okusebenzayo ngeCurl

I-Curl sisixhobo saseSwitzerland sokuvavanya ii-API kunye nepharamitha yaso -F Yeyona ndlela ikhawulezayo yokwenza izicelo ze-multipart. Xa usebenzisa -FI-Curl ikwenzela umsebenzi ongcolileyo: iseka indlela ye-POST, imisela i-Content-Type, kwaye idala umda owahlukileyo ngokuzenzekelayo.

Ukuze ungenise intsimi yombhalo, sebenzisa nje -F "clave=valor"Ukuba ufuna ukulayisha ifayile yasekuhlaleni, kuya kufuneka usebenzise uphawu lwe-@: -F "campo=@/ruta/al/archivo.jpg". Unako nokuba chaza uhlobo lwe-MIME ngesandla ukuba i-API ifuna kakhulu, ukongeza ;type=image/jpeg ekupheleni kwendlela yefayile.

Imizekelo yekhowudi kwiilwimi ezahlukeneyo

Ngokuxhomekeke kwindawo engqongileyo, indlela yokuyisebenzisa iyahluka, kodwa ingqiqo iyafana: musa ukunyanzela umxholo ukuba ithala leencwadi sele liwusingatha.

I-Python enethala leencwadi lezicelo

KwiPython, ithala leencwadi requests Oku kwenza kube mnandi kakhulu. Udinga nje ukuchaza isichazi-magama esinye sedatha yombhalo kunye nesinye seefayile. Iifayile mazidluliswe njenge-tuple equlethe igama lefayile, into ivulwe kwimo yokufunda kabini (rbkunye Uhlobo lomxholo we-MIME.

Ingongoma ephambili apha kukuba, xa kudlula iiparameter data y files ngaxeshanye, ivenkile yeencwadi imisela ngokuzenzekelayo umdaukuthintela ukufika kwesicelo esonakeleyo kwiseva.

Yabelana ngeefayile ezinkulu ze-OneDrive
Inqaku elidibeneyo:
Isikhokelo sokudlulisa iifayile ezinkulu nge-OneDrive phakathi kwe-Android kunye nePC

IJavaScript kunye neNode.js

Kwisiphequluli, sisebenzisa into FormDataSongeza nje amasimi nge append() size sidlulisele loo nto ku body yomsebenzi fetch. Ibalulekile UNGAYISETI ngesandla i-Content-TypeUkuba wenza oku, uza kucima umda oveliswa sisikhangeli ngokuzenzekelayo kwaye umthwalo uya kusilela.

KwiNode.js, imeko iyafana, kodwa sihlala sisebenzisa imodyuli form-data y axiosKule meko, kuyimfuneko ukufowuna form.getHeaders() ukufaka izihloko ezichanekileyo kwisicelo.

Imizekelo yokwenyani: Ukusuka kwiSora 2 ukuya kwiGoogle Drive

Iinkonzo ezahlukeneyo ziphumeza lo mgangatho ngeendlela ezahlukeneyo kancinci. Umzekelo, i-API ye Sora 2 Ifuna ukuba isisombululo somfanekiso olayishiweyo sihambelane ngqo neparameter yobukhulu bevidiyo ukuze kuthintelwe iimpazamo zokucubungula.

Kwelinye icala, i-API ye Google Drive Inika amanqanaba amathathu okulayisha. Ukulayisha kube kanye kwenzelwe iifayile ezincinci ezingenayo i-metadata. Ukulayisha okuninzi kukuvumela ukuba uthumele imethadatha kwiJSON kunye nefayile kwisicelo esinye (esilandela i-RFC 2387). Kwiifayile ezinkulu, uGoogle ucebisa intlawulo enokuphinda isetyenzwekufana nendlela ukudluliselwa kwefayile ezicinezelweyoekuvumela ukuba ufumane kwakhona ukulayisha ukuba uqhagamshelo luphazamisekile, ukuthintela ukuqala ekuqaleni.

Ulawulo lweempazamo kunye nokwenza ngcono

Ukuba ufumana impazamo ethi 413 (Payload Too Large), oko kuthetha ukuba ifayile idlula umda omiselweyo kwiseva (njengomda omiselweyo we-1 MB kwiNginx). Ukulungisa oku, ungenza compress iifayile okanye usebenzise ukulayisha okuxutyiweyo.

Enye ingxaki eqhelekileyo yimpazamo engu-400 xa umda ungekho. Khumbula rhoqo ukuba umda kufuneka ube ngumtya owahlukileyo. ayibonakali emzimbeni yomyalezo ukuze ungadideki i-server parser. Ukuze ulungise ezi mpazamo, sebenzisa curl -v Yeyona ndlela ilungileyo, kuba ikuvumela ukuba ubone ngqo indlela isicelo esakhiwe ngayo ngaphambi kokuba siphume kumatshini wakho.

Ekugqibeleni, ukwazi kakuhle ukudluliselwa kwedatha ye-binary usebenzisa le protocol kuvumela ukuhlanganiswa okusebenzayo kwe-AI enzima kunye neenkonzo zokugcina. Isitshixo siku... sebenzisa izixhobo ezifanelekileyo njengeFormData okanye ilayibrari yeZicelo, isoloko inika ulawulo lwemida kwiklayenti yeHTTP ukuqinisekisa ukuba unxibelelwano ne-API luhamba kakuhle kwaye alunazimpazamo zokuhlalutya.

Guqula ifowuni yakho ephathekayo ibe yiseva yendawo
Inqaku elidibeneyo:
Indlela yokusebenzisa ifowuni yakho ephathwayo njengeseva yefayile ekhuselekileyo ekhaya

Yongeza njengomthombo okhethwayo