Jak przesyłać pliki bezpośrednio do S3 bez korzystania z pamięci lokalnej? [Zamknięte]


18

Szukam wtyczki WordPress, która pozwoliłaby mi przesyłać pliki bezpośrednio do

Jesteśmy sklepem programistycznym, który aktywnie współtworzy strony internetowe CMS z klientami. Oznacza to, że często iterujemy witryny, z których korzystają klienci i do których przesyłamy pliki. W naszych projektach przechowujemy bazę danych i kod w repozytorium git, co ułatwia przenoszenie kodu z produkcji na rozwój lokalny.

Problem z tym procesem polega na tym, że niektóre pliki przesyłane przez klientów są bardzo duże i nie chcemy przesyłać ich do repozytorium, ale nadal chcielibyśmy mieć do nich dostęp tak, jakbyśmy je mieli.

Pomyślałem więc, że zamiast przenosić pliki, moglibyśmy po prostu użyć innej firmy, która hostowałaby pliki i po prostu uzyskiwałaby do nich dostęp. Mógłbym użyć Amazon S3 z wtyczką kopii zapasowej, ale wolałbym po prostu przesłać do S3 za pośrednictwem interfejsu administratora.

Drugim powodem, dla którego chcemy mieć tę wtyczkę, jest to, że hostujemy blogi z 20-30 GB obrazów o wysokiej rozdzielczości. Wolałbym nie przechowywać tych plików na naszym serwerze, ponieważ przestrzeń na serwerze jest droga. Mniej kosztowne jest korzystanie z Amazon S3 do hostowania plików.

Podsumowując, czy istnieje wtyczka, która pozwala korzystać z przesyłania WordPress Media, ale faktycznie pomija lokalną pamięć i przesyła pliki bezpośrednio na serwer?

Z góry dziękuję za odpowiedzi!



2
Zamiast pełnej odpowiedzi, której nie mogę teraz zostawić: Zapisywanie multimediów WordPress na Amazon S3 (zwiastun)
Annika Backstrom

@ v0idless, twój link wygląda na to, że wykona zadanie. Będę musiał to wypróbować.
tarasm

@AdamBackstrom, link wygląda dokładnie tak samo jak ja, ale nie jestem pewien co do jego rozwiązania. Będę musiał przyjrzeć się temu bliżej.
tarasm

Dlaczego nie zostawiasz odpowiedzi?
tarasm

Odpowiedzi:


5

Miałem to samo wymaganie: na moim VPS brakowało miejsca na dysku, ale nadal chciałem zarządzać zdjęciami za pomocą WordPress. tantan-s3 nie wystarczył, ponieważ kopia każdego zdjęcia jest przechowywana lokalnie.

Możliwe jest abstrakcyjne przechowywanie plików za pomocą owijania strumieni PHP, ale kilka podstawowych elementów WordPress jest niezgodnych. Oto krótka odpowiedź: WordPress natywnie nie obsługuje wystarczającej funkcjonalności, aby to umożliwić.


Przejdźmy dalej: bilet WordPress nr 18543 dotyczy łatania rdzenia do obsługi owijania strumieni w imagejpeg()(i innych funkcjach GD) i wp_mkdir_p().

Zend_Service_Amazon_S3_Stream zapewnia opakowanie S3, ale zwykle jest nieefektywne, żądając domyślnych 8192 bajtów zamiast buforować więcej, generując ogromną liczbę żądań w tym procesie. Siedziałem nad tym od miesięcy, więc równie dobrze mogę wypuszczać mody na wolność . Ta poprawka działa przeciwko Zend Framework 1.11.10.

Uzupełnienie kręgu to wtyczka do przetłumaczenia ścieżki przesyłania do S3 .

Chciałbym zobaczyć, jak ktoś posuwa się dalej niż ja, ale nie zajdzie to daleko, dopóki podstawowy WordPress nie poprawi obsługi strumienia.


1
Jeśli masz VPS, dlaczego po prostu nie zamontować wiadra s3 i ustawić tę ścieżkę jako katalog przesyłania?
v0idless,

@ v0idless, to świetne pytanie. Nie byłby przenośny, ale myślę, że zadziałałby. Montaż wiadra nadal wymagałby wtyczki Adama do tłumaczenia adresów URL. Mam rację?
tarasm

Opcje multimediów WordPress pozwalają ustawić katalog przesyłania: Store uploads in this folderco powinno wystarczyć dla zamontowanego wiadra. Myślę, że wtyczka Adama dołącza protokół s3: // do ścieżki przesyłania w celu obsługi strumienia.
v0idless,

@tarasm Uważam, że pre_option_upload_url_pathjest ważnym filtrem ścieżki pobierania.
Annika Backstrom

@AdamBackstrom Myślę, że jest tak blisko ostatecznej odpowiedzi, jak w tym momencie. Czy byłbyś tak miły, aby zaktualizować to pytanie, jeśli sytuacja się zmieni?
tarasm

2

Sprawdź wtyczkę WP2Cloud . Przesłane pliki nie są przechowywane lokalnie - trafiają bezpośrednio do Amazon S3.

Ponadto, jeśli zdecydujesz, możesz używać Amazon S3 do przechowywania całej zawartości witryny, a nie tylko przesyłanych plików. W ten sposób trwale rozwiązujesz problem z kopią zapasową i zyskujesz elastyczność hostingu witryny w dowolnym miejscu bez przenoszenia danych.


2

Była wtyczka o nazwie WP tylko do odczytu . Który prześle pliki do Amazon S3. Używam go na moim serwerze heroku. Ponieważ nie można przechowywać plików statycznych na serwerze heroku.



0

Istnieje wtyczka, która może służyć do tego celu, pozwala przesyłać pliki bezpośrednio do S3 z panelu administracyjnego lub użyć krótkiego kodu, aby osadzić przeglądarkę S3 na stronach głównych, aby użytkownicy mogli przesyłać pliki do S3, możesz kontrolować, kto może przesyłać, usuń, utwórz foldery itp. jest to bardzo przydatne.

Oto link: WordPress S3 Browser

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.