Przesyłanie plików bezpośrednio do Amazon S3 z ASP.NET zastosowanie
My ASP.NET aplikacja MVC zajmie dużo przepustowości i przestrzeni dyskowej. Jak mogę skonfigurować ASP.NET strona przesyłania więc plik przesłany przez użytkownika przejdzie bezpośrednio do Amazon S3 bez korzystania z pamięci i przepustowości mojego serwera www?
5 answers
Aktualizacja Luty 2016:
AWS SDK poradzi sobie teraz z wieloma innymi. Sprawdź Jak zbudować formularz i Jak zbudować podpis . Powinno to uniemożliwić Ci korzystanie z przepustowości po twojej stronie, zakładając, że nie musisz samodzielnie przetwarzać treści przed wysłaniem jej do S3.
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
2016-02-25 17:49:32
Jeśli chcesz przesłać duże pliki i wyświetlić pasek postępu, powinieneś rozważyć komponent flajaxian .
Używa Flasha do przesyłania plików bezpośrednio do amazon S3, oszczędzając przepustowość.
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
2009-02-03 17:00:46
Najlepszy i najprostszy sposób przesyłania plików do amazon S3 za pośrednictwem asp.net . Zobacz poniższy wpis na blogu mojego autorstwa . myślę, że ten pomoże. Tutaj wyjaśniłem od dodawania wiadra S3 do tworzenia klucza API, instalowania Amazon SDK i pisania kodu do przesyłania plików. Poniżej znajduje się przykładowy kod do przesyłania plików do amazon S3 z asp.net C#.
using System
using System.Collections.Generic
using System.Linq
using System.Web
using Amazon
using Amazon.S3
using Amazon.S3.Transfer
///
/// Summary description for AmazonUploader
///
public class AmazonUploader
{
public bool sendMyFileToS3(System.IO.Stream localFilePath, string bucketName, string subDirectoryInBucket, string fileNameInS3)
{
// input explained :
// localFilePath = we will use a file stream , instead of path
// bucketName : the name of the bucket in S3 ,the bucket should be already created
// subDirectoryInBucket : if this string is not empty the file will be uploaded to
// a subdirectory with this name
// fileNameInS3 = the file name in the S3
// create an instance of IAmazonS3 class ,in my case i choose RegionEndpoint.EUWest1
// you can change that to APNortheast1 , APSoutheast1 , APSoutheast2 , CNNorth1
// SAEast1 , USEast1 , USGovCloudWest1 , USWest1 , USWest2 . this choice will not
// store your file in a different cloud storage but (i think) it differ in performance
// depending on your location
IAmazonS3 client = new AmazonS3Client("Your Access Key", "Your Secrete Key", Amazon.RegionEndpoint.USWest2);
// create a TransferUtility instance passing it the IAmazonS3 created in the first step
TransferUtility utility = new TransferUtility(client);
// making a TransferUtilityUploadRequest instance
TransferUtilityUploadRequest request = new TransferUtilityUploadRequest();
if (subDirectoryInBucket == "" || subDirectoryInBucket == null)
{
request.BucketName = bucketName; //no subdirectory just bucket name
}
else
{ // subdirectory and bucket name
request.BucketName = bucketName + @"/" + subDirectoryInBucket;
}
request.Key = fileNameInS3 ; //file name up in S3
//request.FilePath = localFilePath; //local file name
request.InputStream = localFilePath;
request.CannedACL = S3CannedACL.PublicReadWrite;
utility.Upload(request); //commensing the transfer
return true; //indicate that the file was sent
}
}
Tutaj możesz użyć funkcji sendMyFileToS3, aby przesłać strumień plików do amazon S3.
Więcej szczegółów na moim blogu w podlinkuj stronę
Prześlij plik do Amazon S3 poprzez asp.net
Mam nadzieję, że powyższy link pomoże.
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
2016-02-18 12:49:27
ThreeSharp jest biblioteką ułatwiającą interakcje z Amazon S3 w środowisku. NET.
Nadal będziesz musiał hostować logikę, aby przesłać i wysłać pliki do S3 w aplikacji mvc, ale nie będziesz musiał utrzymywać ich na serwerze.
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
2008-09-22 21:59:41
Poszukaj biblioteki javascript do obsługi wysyłania tych plików po stronie klienta. Natknąłem się na przykład javascript i php Dojo również wydaje się oferować wysyłanie plików S3 dla klientów.
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
2008-09-22 22:13:31