2017-08-17 9 views
0

URLにbase64stringから取り払うことができます方法:私は、私はこのようなデータベースから画像を検索しています

public ViewResult Details(int id = 0) 
{ 
    vm.ImageToShow = Convert.ToBase64String(model.Picture) 
    return View(vm); 
} 

Picture定義:

public byte[] Picture { get; set; } 

そして、私はこのようなViewでそれを示しています:

@Html.Raw("<img src=\"data:image/jpeg;base64," + Model.ImageToShow + "\" 
onclick='javascript: window.open(\"data:image/jpeg;base64," + Model.ImageToShow + "\")'/>") 

クリックすると新しいタブと画像を開きますが、URLにはdata:image/jpeg;base64,iVBORw0KGg.....のようなすべてのbase64文字列が表示されています。私はこれを取り除き、イメージ名や他の何かを持つ短いURLを表示するにはどうすればよいですか?

+0

画像を返信する –

+0

@RyanSearle私は自分の質問を更新しました。私は自分の行動方法も示しました。 – SteveCode

+0

Base64が必要ない場合は、明白な答えは使用しないでください。 base64文字列ではなく、結果の画像のURLを送信します。しかし、バイト配列として格納しているので、実際にURLがあるようには見えません。万が一DBから来たのですか?あなたが本当にこれを克服することができると確信していない、以下の答えが働かない限り。とにかくbase64の問題は何ですか?できます。 – ADyson

答えて

2
public ViewResult Details(int id = 0) 
{ 
    //vm.ImageToShow = Convert.ToBase64String(model.Picture) 
    vm.ID = id; 
    return View(vm); 
} 

public FileResult Image(int id = 0) 
{ 
    .. 
    return File(model.Picture,"image/jpeg"); 
} 


@Html.Raw("<img src=\"image?id=" + Model.ID + "\" 
onclick='javascript: window.open(\"image?id=," + Model.ID + "\")'/>") 
関連する問題