Cu toate dezvoltarea web furtunoase, standarde html și, în special, cu fișiere, aproape niciodată nu sa schimbat. Din fericire, odată cu apariția de HTML5 și API legate de ea, acum avem mai multe oportunități de a lucra cu fișiere decât oricând înainte în versiunile anterioare de browsere (iOS încă nu acceptă API-ul de fișiere).
Tip de fișier - Fișier
Tip de fișier este definit în specificația API fișier [1] și este o reprezentare abstractă a fișierului. Fișier Fiecare instanță are următoarele proprietăți:
nume - numele fișierului
dimensiunea - dimensiunea fișierului în octeți
tip MIME de fișier - tipul
obiect fișier oferă informații utile despre fișierul, fără a oferi acces direct la conținutul fișierului. El este legătura numai fișierului, și de a prelua datele din acest fișier este un proces separat, în general.
Obținerea de linkuri către fișiere
Desigur, accesul la fișierele de utilizator este strict interzisă pe internet, deoarece clar cu probleme de securitate a datelor personale. Tu nu ar vrea să descărcați pagini web, și apoi scana hard disk-ul și descoperă că este util. Aveți nevoie de permisiune de la utilizator pentru a avea acces la fișierele de pe computerul său. Cu toate acestea, este permis de fiecare dată când un utilizator decide să descarce ceva pentru a citi fișiere pagini web.
Când utilizați elementul , Ai da o permisiune pagină web (și server) pentru a accesa fișierul. Așa că primul, după cum puteți obține obiectul de fișiere, acest câmp .
HTML5 definește referințele de fișier pentru toți de management. Această colecție Filelist, care este o structură în formă de matrice numită Filelist care conține obiecte de tip de fișier pentru fiecare fișier selectat în (Amintiți-vă, HTML5 vă permite să selectați mai multe fișiere în secțiunea de control). Deci, în orice moment dat, puteți obține acces la fișierele pe care el a ales, folosind codul ca aceasta:
Trageți fișiere și plasați
fișierele din matriță prin intermediul unui control de acces necesită încă utilizatorii de acțiune găsi și selectați fișierul de interes. Din fericire, HTML5 Drag and Drop oferă o altă modalitate pentru utilizatori de a oferi acces la fișierele lor: prin simpla glisare și fixare fișierele de pe desktop în browser-ul web. Tot ce trebuie să faceți pentru a implementa pentru a urmări două evenimente.
event.dataTransfer.files alt obiect Filelist, prin care puteți avea acces la informații despre fișierele. Codul este aproape la fel ca și forma și controlul obiectelor, cum ar fi fișiere pot fi accesate în același mod.
fișiere pagruzka AJAX
Cea mai mare lucru despre obiectul FormData, puteți adăuga fișierul direct la el, de fapt, imitând descărcarea de fișiere prin intermediul HTML-formular. Tot ce trebuie să faceți este să adăugați un link către un fișier cu un anumit nume, iar browser-ul va face restul. De exemplu:
Odată ce FormData obiect la trimitere (), necesar pentru a anteturile de conținut HTTP sunt setate automat. Nu aveți nevoie să vă faceți griji cu privire la instalarea formelor de codificare corectă utilizând fișiere, serverul va rula cu fișierul rezultat, ca și în cazul în care este prezentată formular HTML simplu. citirea datelor din _FILES fișier trimis $ [ „fotografie“] și datele tekstovyt din $ _POST [ „nume“]. Acest lucru vă oferă flexibilitatea de a scrie cod de procesare pe partea de server care poate lucra cu ușurință cu ambele tradiționale HTML-forme și formularele trimise prin Ajax.
Și este alimentat de toate cele mai recente versiuni de cele mai multe browsere, inclusiv Internet Explorer 10. Din păcate, Internet Explorer 9 nu acceptă acest lucru.
ce urmează
Link-uri conexe:
Buna ziua dragi vizitatori!
Nu pot salva datele binare pe partea de server. Nu pot să înțeleg cum de a evacua în mod corespunzător script PHP, sau poate, punctul este altceva pe care eu nu cred. Încercat date binare în containere de ambalare blob poate încerca ArrayBuffer? Metoda POST este trimis la obiectul server de „blob“ sau „ArrayBuffer“, ar trebui să apeleze la oricare ordinii sale svoytvam pentru a prelua datele?
Esența sistemului este de a ajuta cu solicitarea XHR pentru a obține un fișier audio în format MP3, și mai târziu a scrie (Spars)-l pe server.
Vă mulțumim anticipat! Cu stimă, Oleg.