Недопустимый URL-адрес преобразования массива байтов в base64

Я использую панель подписи от Nuget, все в порядке, за исключением попытки воссоздать подписи из массива байтов, хранящегося на сервере.

Моя модель имеет

public byte[] MySignature { get; set; }

и в моем индексном представлении у меня есть это, чтобы попытаться отобразить подпись, но все, что я когда-либо получаю, это недопустимые URL-адреса

<td>
        @{
            if (item.MySignature != null)
            {
                <img src="@string.Format("data:image/jpeg;base64,{0}", Convert.ToBase64String(item.MySignature));" />
            }
        }
</td>

Я упускаю что-то очевидное?


person Kevin Knapp    schedule 02.03.2017    source источник
comment
Не совсем уверен, что это ваша проблема, но точка с запятой ; в конце не нужна.   -  person juunas    schedule 03.03.2017
comment
Вы, сэр, легенда. Первоначально я поместил его в несколько строк, а ; просто осталось от копипасты. Работал как шарм. Если вы хотите добавить ответ, я отмечу его.   -  person Kevin Knapp    schedule 03.03.2017


Ответы (1)


Оказывается, моя догадка была верна :)

Точка с запятой в конце значения атрибута src была лишней:

<img src="@string.Format("data:image/jpeg;base64,{0}", Convert.ToBase64String(item.MySignature));" />

Это должно быть:

<img src="@string.Format("data:image/jpeg;base64,{0}", Convert.ToBase64String(item.MySignature))" />

Причина в том, что первый включает точку с запятой в строке base-64, что делает его недействительным.

person juunas    schedule 02.03.2017