2016-03-15 2 views
0

я сейчас сталкиваются с проблемой в BYTEA к Base64, на самом деле у меня есть сохранить изображение ниже запроса,Как конвертировать BYTEA в base64 в Postgres

user_profile_pic оп ределяется в bytea в таблице

Update user_profile_pic 
Set user_profile_pic = (profilepic::bytea) 
Where userid = userid; 

после того, что у меня есть выбор ниже запроса,

case 1: 
SELECT user_profile_pic 
    FROM user_profile_pic; 

его возвращение точно такой же, как я обновил, но после прохождения службы его отображения формата, байты

case 2: 
Select encode(user_profile_pic::bytea, 'base64') 
FROM user_profile_pic; 

он возвращает совершенно другой результат.

Я хочу привести к случаю 1 наряду с обслуживанием?

+0

Что такое 'profilepic'? Какой тип данных/какой формат? –

+0

pass "profilepic" в base64 service service –

+0

'profilepic :: bytea' не знает, что ваш вход base64. Вы, вероятно, хотите «decode (profilepic,« base64 ») вместо этого. –

ответ

0

его работа для меня, не работает запрос, если процедура записи/функция, я пишу прямой код за

conn.Open(); 

       NpgsqlCommand command = new NpgsqlCommand("SELECT profile_pic FROM userlog WHERE cust_id = '" + CustID + "'", conn); 
       Byte[] result = (Byte[])command.ExecuteScalar(); 
       if(result.Length > 0) 
       { 
        ProfilePicture = Convert.ToBase64String(result); 
        ErrorNumber = 0; 
        ErrorMessage = "Successful operation"; 
       } 
       else 
       { 
        ErrorNumber = 1; 
       } 
       conn.Close(); 
Смежные вопросы