2016-10-18 4 views
-1

C#でbase64stringに変換した後、文字列データ型のSQLServerデータベースに画像を保存します。今、私はそれを元に戻したいですが、イメージに戻してからロードできません。SQL ServerでvarcharがC#からbase64Stringを保存するにはどのくらいの時間が必要ですか?

解決策はありますか?

+1

'varbinary()'データ型とパラメータを使用すると、変換はBase64との間で行い、C#コードでは 'byte []'を使うだけです。すべてを文字列として扱うよりはるかに優れています。 –

+0

@Damien_The_Unbeliever - 潜在的には真ですが、おそらくC#でSQLパラメータを作成してコマンドにアタッチする作業がいくつか作成されます。カラムタイプをvarbinaryに変更してConvert.ToBase64の部分を取り消すことはできません。おそらく彼のストアドプロシージャを変更する必要があります。 – Cato

答えて

1

あなたはVARCHAR(MAX)として、あなたのbase64文字列を救うことができる - これは

1で解決しない場合、私はあなたのコードで何をするのか)あなたが

を保存することをあなたが戻ってデータの同じ長さを取得していることを確認

2)画像をBASE64文字列に変換してから文字列の画像に戻す

+0

私は既にこれを試していますが、まだ動作しません@Andrew – Student

+0

あなたのBASE64文字列を作成しようとすると何が起こり、その文字列で直ちに文字列を画像?データがデータベースに送られてOKですが、画像処理が間違っている可能性があります。それを排除する必要があります。画像処理がすべて正常であることが証明できれば、どのデータがDBに送られているかを調べることです。どのデータが戻ってくるか – Cato

+0

データベースから戻すときにエラーをトレースしています – Student

関連する問題