Когда я использую этот код для загрузки файла (изображения) в мое хранилище S3, он отлично работает с использованием localhost; однако, когда я публикую свой код, он как-то портит файлы и показывает только черный экран. Мне нужно отправить или изменить что-то в корзине или в моем коде?
public static async Task<UploadPhotoModel> UploadPhoto(IFormFile file,string bucket)
{
// connecting to the client
var client = new AmazonS3Client(accessKey, accessSecret, Amazon.RegionEndpoint.CACentral1);
// get the file and convert it to the byte[]
byte[] fileBytes = new Byte[file.Length];
file.OpenReadStream().Read(fileBytes, 0, int.Parse(file.Length.ToString()));
var fileName = Guid.NewGuid().ToString() + file.FileName;
PutObjectResponse response = null;
using (var stream = new MemoryStream(fileBytes))
{
var request = new PutObjectRequest
{
BucketName = bucket,
Key = fileName,
InputStream = stream,
ContentType = file.ContentType,
CannedACL = S3CannedACL.PublicRead,
};
try
{
response = await client.PutObjectAsync(request);
}
catch (Exception ec)
{
Debug.Write(ec);
}
};
if (response.HttpStatusCode == System.Net.HttpStatusCode.OK)
{
return new UploadPhotoModel
{
Success = true,
FileName = fileName,
FileURL = "https://s3.ca-central-1.amazonaws.com/" + bucket + '/' + fileName,
};
}
else
{
// this model is up to you, in my case I have to use it following;
return new UploadPhotoModel
{
Success = false
};
}
}