S3 bezpośrednie przesyłanie ograniczające rozmiar i typ pliku
Pytanie dla początkujących, ale wygooglowałem abit i nie mogę znaleźć żadnego rozwiązania.
Chcę umożliwić użytkownikom bezpośrednie przesyłanie plików na S3, a nie przez mój serwer. Czy jest jakiś sposób, aby pliki mogły być sprawdzane pod kątem limitu rozmiaru i dozwolonych typów przed przesłaniem do S3? Najlepiej nie używać Flasha, ale javascript.
3 answers
Jeśli mówisz o problemach z bezpieczeństwem (ludzie przesyłający ogromny plik do wiadra), tak, możesz ograniczyć Rozmiar Pliku za pomocą przeglądarki wysyłania do S3.
Oto przykład zmiennej "policy", gdzie kluczowym punktem jest" content-length-range".
"expiration": "'.date('Y-m-d\TG:i:s\Z', time()+10).'",
"conditions": [
{"bucket": "xxx"},
{"acl": "public-read"},
["starts-with","xxx",""],
{"success_action_redirect": "xxx"},
["starts-with", "$Content-Type", "image/jpeg"],
["content-length-range", 0, 10485760]
]
W tym przypadku, jeśli upla Rozmiar pliku > 10MB, żądanie przesłania zostanie odrzucone przez Amazon.
Oczywiście, przed rozpoczęciem procesu przesyłania, należy użyć javascript, aby sprawdzić rozmiar pliku i zrobić kilka ostrzega, jeśli tak.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:25:30
AWS napisał samouczek wyjaśniający, jak tworzyć formularze HTML, które umożliwiają odwiedzającym Twoją stronę www przesyłanie plików na twoje konto S3 przy użyciu standardowej przeglądarki internetowej . Używa wstępnie podpisanych adresów URL S3, aby zapobiec manipulacji i można ograniczyć dostęp przez Rozmiar pliku.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-22 06:14:18
Aby zrobić to, co chcesz zrobić, trzeba będzie przesłać za pośrednictwem własnego serwisu internetowego. Jest to prawdopodobnie najlepsze w każdym razie, ponieważ zapewnienie globalnego dostępu do zapisu użytkownikom końcowym do wiadra S3 jest koszmarem bezpieczeństwa, nie wspominając o tym, że nic nie powstrzyma ich przed przesyłaniem ogromnych plików i podnoszeniem opłat.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-15 01:45:33