1つのイメージを5種類のサイズにリサイズしようとしています(そして、それらをamazonS3にアップロードしています)。PostedFile.InputStreamを2回使用する
私は
に問題をimageresizer.netを使用しています、私は二回InputStreamを使用できないことのようです。それは初めて動作します。
Dim SmallStream As Stream = New MemoryStream
Dim TinyStream As Stream = New MemoryStream
If FileUpload1.HasFile Then
**ImageResizer.ImageBuilder.Current.Build(FileUpload1.PostedFile.InputStream, SmallStream, New ResizeSettings("maxwidth=100&maxheight=100"))
ImageResizer.ImageBuilder.Current.Build(FileUpload1.PostedFile.InputStream, TinyStream, New ResizeSettings("maxwidth=100&maxheight=100"))**
AmazonUploadFile("SmallImages/" & FileUpload1.FileName, SmallStream)
AmazonUploadFile("TinyImages/" & FileUpload1.FileName, TinyStream)
End If
Public Shared Function GetS3Client() As AmazonS3
Dim appConfig As NameValueCollection = ConfigurationManager.AppSettings
Dim s3Client As AmazonS3 = AWSClientFactory.CreateAmazonS3Client(AWS_ACCESS_KEY, AWS_SECRET_KEY)
Return s3Client
End Function
Public Sub AmazonUploadFile(S3Key As String, FileStream As Stream)
Dim request As New PutObjectRequest()
request.WithBucketName(BUCKET_NAME)
request.WithKey(S3Key).InputStream = FileStream
request.WithCannedACL(S3CannedACL.PublicRead)
GetS3Client.PutObject(request)
End Sub
コードブレーク私はFileUpload1.PostedFile.InputStream
をもう一度検索してみてください。
ストリームを読んで自分自身でImageResizerが8つの落とし穴を避けることを防ぎます。また、マルチページTIFFやアニメーションGIFでフレーム1以外のすべてを失うことになります。私の答えを正しいものとしてマークしてください。そうすれば、他の人はNYSystemsAnalystの答えの問題を避けることができます。 –