Ứng dụng ASP.NET MVC của tôi sẽ mất rất nhiều băng thông và dung lượng lưu trữ. Làm thế nào tôi có thể thiết lập một trang tải lên ASP.NET để các tập tin người dùng tải lên sẽ đi thẳng đến Amazon S3 mà không cần sử dụng lưu trữ và băng thông của máy chủ web của tôi?Tải tệp trực tiếp lên Amazon S3 từ ứng dụng ASP.NET
Trả lời
Cập nhật tháng 2 năm 2016:
AWS SDK có thể xử lý nhiều hơn nữa ngay bây giờ. Hãy xem how to build the form và how to build the signature. Điều đó sẽ ngăn không cho bạn cần băng thông trên đầu của bạn, giả sử bạn không cần xử lý nội dung trước khi gửi nó đến S3.
ThreeSharp là thư viện để tạo điều kiện tương tác với Amazon S3 trong môi trường .NET.
Bạn vẫn cần lưu trữ logic để tải lên và gửi tệp tới s3 trong ứng dụng mvc của mình, nhưng bạn sẽ không cần phải lưu chúng trên máy chủ của mình.
ThreeSharp đang ngừng dự án của họ do những nỗ lực của Amazon. Đây là từ trang web của họ: "Chúng tôi khuyên các nhà phát triển di chuyển sang AWS SDK ngay khi thuận tiện nhất, vì chúng tôi sẽ không còn duy trì thư viện ThreeSharp nữa." – Stradas
@ kyle, Điều này có nghĩa là AWS SDK đã tích hợp tính năng phát trực tuyến tệp AWS S3 xô ... – Learning
Tìm thư viện javascript để xử lý tải lên phía máy khách của các tệp này. Tôi stumbled khi một javascript và php example Dojo cũng dường như cung cấp một tập tin tải lên s3 clientide.
Nếu bạn cần tải lên các tệp lớn và hiển thị thanh tiến trình, bạn nên xem xét flajaxian component.
Sử dụng flash để tải tệp trực tiếp lên amazon s3, tiết kiệm băng thông của bạn.
Flajaxian là tuyệt vời, tôi sử dụng nó trong sản xuất cho một vài năm. Nhưng gần đây nó đã trở thành lỗi trên hệ điều hành Mac do sự khác biệt tinh tế với thành phần Flash trên các thiết bị Mac. Tôi sẽ không còn đề nghị thành phần này để sử dụng sản xuất, các nhà phát triển đã từ bỏ hỗ trợ .. bạn chỉ cần nhìn vào tất cả các bài viết chưa được trả lời trên Codeplex. – QFDev
Cách tốt nhất và dễ nhất để tải tệp lên Amazon S3 qua asp.net. Hãy xem bài đăng blog sau của tôi. tôi nghĩ cái này sẽ giúp. Ở đây tôi đã giải thích từ việc thêm một thùng S3 để tạo Khóa API, Cài đặt Amazon SDK và viết mã để tải lên các tệp. Sau đây là mã mẫu để tải tệp lên amazon S3 với 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
}
}
Tại đây bạn có thể sử dụng hàm sendMyFileToS3 để tải luồng tệp lên amazon S3. Để biết thêm chi tiết, hãy kiểm tra blog của tôi trong liên kết sau.
Upload File to Amazon S3 via asp.net
Tôi hy vọng liên kết được đề cập ở trên sẽ hữu ích.
Mã của người giới thiệu giải pháp thanh toán này và tải trực tiếp lên Amazon s3 bucket ?. – Learning
Có, nó tải trực tiếp lên thùng amazon S3 do bạn chỉ định. Bạn chỉ cần đặt thông tin xác thực API và tên nhóm nơi bạn muốn tải tệp lên. Phần còn lại sẽ được chăm sóc bởi mã.Nó được mô tả chi tiết trong bài đăng trên blog. –
- 1. Ngăn tải trực tiếp tệp âm thanh từ amazon s3
- 2. ASP.NET tải tệp lên Amazon S3
- 3. Tải tệp trực tiếp lên S3 bằng thanh tiến trình
- 4. ASP.NET MVC - Tải hình ảnh lên Amazon S3
- 5. Làm thế nào để tôi tải Plupload trực tiếp lên Amazon S3?
- 6. Tải trực tiếp lên S3 hoặc qua EC2?
- 7. Cách tải tệp từ URL sang Amazon S3
- 8. Thư viện .NET hoặc ứng dụng asp.net cho Amazon S3
- 9. Amazon AWS S3 để Buộc Tải xuống Tệp Mp3 thay vì Phát trực tiếp
- 10. Phát video MP4 trực tiếp lên iPhone trực tiếp từ S3?
- 11. Tải lên tệp của Google App Engine và Amazon S3
- 12. Tải lên Amazon S3 bằng cách sử dụng cURL/libcurl
- 13. Tải lên Dịch vụ S3 của Amazon từ iPhone App
- 14. Tải lên dựa trên trình duyệt cho Amazon S3?
- 15. Sử dụng PHP để tải lên Amazon S3
- 16. Truyền trực tuyến một mã zip động từ Amazon S3
- 17. Rails + Amazon s3 + tải lên tệp jquery: thanh tiến trình tải lên không hoạt động?
- 18. Phát trực tiếp từ ứng dụng Android lên Youtube
- 19. Tải xuống tệp từ Amazon S3 với Django
- 20. Tải lên trực tiếp s3 với thanh tiến trình bằng cách sử dụng php
- 21. Tải tệp lên S3 bằng AWS SDK
- 22. Đang tải lên đến Amazon S3 không được tiếp cận & khóa bí mật
- 23. Tải lên nhiều phần HTML5 và Amazon S3
- 24. Kiểm tra vi-rút trước khi tải lên Amazon S3?
- 25. Đặt tệp vào Amazon S3 bằng cách sử dụng tính năng tải lên nhiều phần
- 26. tải lên dữ liệu canvas vào s3
- 27. Tải tệp mới lên kho git trực tiếp qua ứng dụng web github
- 28. Phân phối an toàn các tệp từ Amazon S3
- 29. AWS S3 Tải hình ảnh lên ứng dụng Bucket iOS
- 30. Hết giờ Heroku khi tải tệp lớn lên s3
Nice !!! Thật khó để tìm thấy một số mẫu Amazon và đây là một trong những tôi chắc chắn có thể đã sử dụng một thời gian trước đây. Cảm ơn bạn. –
Đây là năm sau nhưng tôi đã viết một [blog] (http://codeonaboat.wordpress.com/2011/04/22/uploading-a-file-to-amazon-s3-using-an-asp-net-mvc -ứng dụng-trực tiếp-từ-người-trình duyệt-/) về điều này như tôi gần đây đã phải thiết lập nó. – floatingfrisbee
Xin chào, Liên kết không hoạt động ... – Learning