Я пытаюсь использовать образец кода, предоставленный AWS, для загрузки файла на S3 из веб-приложения VB. net. Я преобразовал пример кода C# в VB и сохранил его в отдельном файле под названием UploadToS3.vb. Проблема, с которой я сталкиваюсь, заключается в том, что я не понимаю, как передать файл в файл UploadToS3.vb и загрузить его.
На интерфейсе веб-приложения я использую следующее, чтобы выбрать файл и отправьте:
<form id="form1" runat="server">
<div>
<asp:Label ID="lblUpload" runat="server" Text="UPLOAD"></asp:Label><br />
<asp:FileUpload ID="FileUpload1" runat="server" /><br />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
</div>
</form>
Код позади файла:
Namespace Amazon.DocSamples.S3
Class UploadFileMPUHighLevelAPITest
Private Const bucketName As String = "webapp.company.com"
Private Const keyName As String = "*** provide a name for the uploaded object ***"
Private Const filePath As String = "*** provide the full path name of the file to upload ***"
Private Shared ReadOnly bucketRegion As RegionEndpoint = RegionEndpoint.USEast1
Private Shared s3Client As IAmazonS3
Public Shared Sub Main()
s3Client = New AmazonS3Client(bucketRegion)
UploadFileAsync().Wait()
End Sub
Private Shared Async Function UploadFileAsync() As Task
Try
Dim fileTransferUtility = New TransferUtility(s3Client)
Await fileTransferUtility.UploadAsync(filePath, bucketName)
Console.WriteLine("Upload 1 completed")
Await fileTransferUtility.UploadAsync(filePath, bucketName, keyName)
Console.WriteLine("Upload 2 completed")
Using fileToUpload = New FileStream(filePath, FileMode.Open, FileAccess.Read)
Await fileTransferUtility.UploadAsync(fileToUpload, bucketName, keyName)
End Using
Console.WriteLine("Upload 3 completed")
Catch e As AmazonS3Exception
Console.WriteLine("Error encountered on server. Message:'{0}' when writing an object", e.Message)
Catch e As Exception
Console.WriteLine("Unknown encountered on server. Message:'{0}' when writing an object", e.Message)
End Try
End Function
End Class
End Namespace
Пример кода из AWS: https://docs.aws.amazon.com/AmazonS3/latest/dev/HLuploadFileDotNet.html
Более подробные c вопросы: Как выглядит значение для "filepath"? Просто название папки в ведре S3? Требуется ли имя ключа Private Const в виде строки ..., если по умолчанию используется имя загруженного файла? Что мне добавить в событие нажатия кнопки отправки, чтобы вызвать загрузку S3?
Любая помощь будет принята с благодарностью.