0

Какой правильный способ загрузить содержимое X509Certificate (.cer) в базу данных из формы в представлении?Сертификат загрузки ASP.NET MVC

На мой взгляд, у меня есть этот вход загрузки:

<div class="form-group row"> 
    <label asp-for="Certificates" class="col-sm-2 col-sm-offset-2 form-control-label"></label>   
    <input type="file" asp-for="Certificates"/> 
</div> 

В моем ViewModel у меня есть этот параметр:

public IFormFile Certificate { get; set; } 

Мой контроллер получает этот IFormFile, но я не могу получить содержимое сертификата в байт[]. Как я могу получить этот массив байтов, загрузив сертификат?

+1

Возможный дубликат [Сохранить X509 сертификат в базе данных] (http://stackoverflow.com/questions/4933759/store-x509-certificate-in-database) –

ответ

2

использовать действие, которое принимает параметр IFormFile.

[HttpPost] 
    public async Task<IActionResult> UploadSomeFile(IFormFile file){ 

     byte[] bytes = new byte[file.Length]; 
     using (var reader = file.OpenReadStream()) 
     { 
      await reader.ReadAsync(bytes, 0, (int)file.Length); 
     } 
     //send bytes to db 

     return Ok(); 
    }