2011-12-20 4 views
1

Я реализовал обработчик .ashx, который получает часть загруженных частей файла с клиента. Раньше я сначала хранил файлы в папке temp, прежде чем загружать их в AWS. Поскольку файлы стали довольно большими, я бы хотел пропустить часть папки temp и загрузить их непосредственно в AWS с помощью запросов MultiPart.Загрузка файла многостраничного AWS .NET SDK из Http

Это выглядит хорошо до сих пор, но я не могу найти перегрузку, которая принимает либо HttpPostedFile или поток для загрузки ..

я что-то вроде следующего возможно?

 // Create request to upload a part. 
     UploadPartRequest uploadRequest = new UploadPartRequest() 
      .WithBucketName(myBucket) 
      .WithKey(myKey) 
      .WithUploadId(myUploadId)     
      .WithPartNumber(partNumber) 
      .WithInputStream(inputStream); 

ответ

1

WithInputStream вернет запрос s3 вместо UploadPartRequest так просто бросить тип возврата к UploadPartRequest

// Create request to upload a part. 
     UploadPartRequest uploadRequest = new UploadPartRequest() 
      .WithBucketName(myBucket) 
      .WithKey(myKey) 
      .WithUploadId(myUploadId)     
      .WithPartNumber(partNumber); 

uploadRequest = (UploadPartRequest)uploadRequest.WithInputStream(ftiObject.sourceStream); 

это работает для меня

0

Простой: Просто установите входной поток через свойство:

  // Create request to upload a part. 
      UploadPartRequest uploadRequest = new UploadPartRequest() 
       .WithBucketName(myBucket) 
       .WithKey(myKey) 
       .WithUploadId(UploadId) 
       .WithPartNumber(PartNumber) 
       .WithPartSize(inputStream.Length) 
       .WithFilePosition(FilePosition); 

      uploadRequest.InputStream = inputStream; 
2
UploadPartRequest uploadRequest = new UploadPartRequest() 
     .WithBucketName(myBucket) 
     .WithKey(myKey) 
     .WithUploadId(myUploadId)     
     .WithPartNumber(partNumber) 
     .WithInputStream(stream) as UploadPartRequest; 

Это также возможно.

Смежные вопросы