ASP.NET MVC上传证书

时间:2016-10-19 16:44:03

标签: asp.net asp.net-mvc asp.net-core x509certificate .net-core-rc2

从视图中的表单将X509Certificate(.cer)内容上传到数据库的正确方法是什么?

在我的视图中,我有这个上传输入:

 <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,但我无法在byte []中获取证书的内容。我怎么能通过上传证书来获得这个字节数组呢?

1 个答案:

答案 0 :(得分: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();
    }