Cum să încarci fișiere direct pe S3 fără a utiliza stocarea locală?
Caut un plugin WordPress care să-mi permită să încărc fișiere direct pe
Suntem o echipă de dezvoltare care creează în mod activ site-uri CMS împreună cu clienții. Asta înseamnă că adesea lucrăm la site-uri pe care clienții le folosesc și încarcă fișiere. În proiectele noastre, stocăm baza de date și codul într-un repository git, ceea ce facilitează mutarea codului de la producție la mediul de dezvoltare local.
Problema cu acest proces este că unele fișiere încărcate de clienți sunt foarte mari și nu dorim să le încărcăm în repository, dar totuși am dori să le putem accesa ca și cum le-am avea local.
Așadar, m-am gândit că în loc să mutăm fișierele, am putea folosi un serviciu terț care să găzduiască fișierele și noi doar să le accesăm. Aș putea folosi Amazon S3 cu un plugin de backup, dar aș prefera să pot încărca direct pe S3 prin interfața de administrare.
Al doilea motiv pentru care doresc acest plugin este că găzduim bloguri cu 20-30GB de imagini de înaltă rezoluție. Aș prefera să nu păstrez aceste fișiere pe serverul nostru deoarece spațiul pe server este scump. E mai ieftin să folosesc Amazon S3 pentru găzduirea fișierelor.
În concluzie, există vreun plugin care permite folosirea încărcătorului de Media din WordPress, dar care de fapt să ocolească stocarea locală și să încarce fișierele direct pe S3?
Vă mulțumesc anticipat pentru răspunsuri!
Am avut aceeași cerință: VPS-ul meu nu avea suficient spațiu pe disc, dar totuși voiam să gestionez fotografiile cu WordPress. Plugin-ul tantan-s3 nu a fost suficient, deoarece o copie a fiecărei imagini era stocată local.
Este posibil să abstractizezi stocarea fișierelor folosind PHP stream wrappers, dar câteva componente din nucleul WordPress sunt incompatibile. Deci acesta este răspunsul scurt: WordPress nu suportă în mod nativ suficiente funcționalități pentru a face acest lucru posibil.
Continuând: tichetul WordPress #18543 se ocupă de modificarea nucleului pentru a suporta stream wrappers în imagejpeg()
(și alte funcții GD) și wp_mkdir_p()
.
Zend_Service_Amazon_S3_Stream oferă un stream wrapper pentru S3, dar tinde să fie ineficient, solicitând implicit 8192 de octeți deodată în loc să bufferizeze mai multe, generând un număr mare de cereri în proces. Am stat pe asta luni de zile, așa că poate să lansez modificările în sălbăticie. Acest patch funcționează cu Zend Framework 1.11.10.
Completând cercul este un plugin pentru a traduce calea de încărcare către S3.
Mi-ar plăcea să văd pe cineva care să ducă asta mai departe decât am făcut eu, dar nu va merge prea departe până când WordPress nu îmbunătățește suportul pentru stream.

Dacă ai un VPS, de ce să nu montezi pur și simplu un bucket S3 și să setezi acea cale ca director de încărcare?

@v0idless, asta e o întrebare excelentă. Nu ar fi portabil, dar cred că ar funcționa. Montarea bucket-ului ar necesita totuși plugin-ul de traducere URL-uri al lui Adam. Am dreptate?

Opțiunile media din WordPress îți permit să setezi directorul de încărcare: Stochează încărcările în acest folder
care ar trebui să fie suficient pentru un bucket montat. Cred că plugin-ul lui Adam adaugă protocolul s3:// la calea de încărcare pentru suportul de stream.

@tarasm Cred că pre_option_upload_url_path
este filtrul important pentru calea de descărcare.

Descarcă plugin-ul WP2Cloud. Fișierele încărcate nu sunt stocate local - ele merg direct pe Amazon S3.
Mai mult, dacă alegi, poți folosi Amazon S3 pentru a stoca întregul conținut al site-ului, nu doar încărcările. Prin aceasta, rezolvi permanent problema backup-urilor și obții flexibilitatea de a găzdui site-ul oriunde dorești fără a muta datele.

Exista un plugin numit WP Read-Only. Acesta va încărca fișierele pe Amazon S3. Eu îl folosesc pe serverul meu Heroku. Deoarece nu poți stoca fișiere statice pe serverul Heroku.

Încearcă asta: http://wordpress.org/extend/plugins/tantan-s3/ ^^

Există un plugin care poate servi acest scop, vă permite să încărcați fișiere direct pe S3 din panoul de administrare sau să folosiți shortcode pentru a integra un browser S3 pe paginile front-end, astfel încât utilizatorii să poată încărca fișiere pe S3. Puteți controla cine poate încărca, șterge, crea foldere etc. Este foarte util.
Iată link-ul: WordPress S3 Browser
