загрузите изображение с веб-сервиса restful и используйте бритву asp.net MVC - PullRequest
0 голосов
/ 11 ноября 2018

Я пытаюсь получить изображения из URL и показать изображение в razor.но я не могу изменить байт на изображение и показать это.

//this is a string contains 3name of image and i give each of them with this 
   way
  string[] imgname = user.Original_images.Split(',');
        foreach (var item3 in imgname)
        {
            string url2 = "my URL" + 
             + item3 + ".jpg";

           //i download image successfully
            webclient.Headers["Authorization"] = "Basic " + 
              Convert.ToBase64String( 
              Encoding.Default.GetBytes("Username:password"));

            byte[] data = webclient.DownloadData(url2);

           //i don't know what should i do after this...
        }

Ответы [ 2 ]

0 голосов
/ 12 ноября 2018

я решаю свой вопрос

 string[] imgname = user.Original_images.Split(',');
    foreach (var item3 in imgname)
    {
        string url2 = "my URL" + 
         + item3 + ".jpg";

       //i download image successfully
        webclient.Headers["Authorization"] = "Basic " + 
          Convert.ToBase64String( 
          Encoding.Default.GetBytes("Username:password"));

        byte[] data = webclient.DownloadData(url2);

       //this is new
            string imageBase64Data = Convert.ToBase64String(imageByteData);
            string imageDataURL = string.Format("data:image/jpg;base64,{0}", 
            imageBase64Data);
            ViewBag.ImageData = imageDataURL; 
    }

и в бритве у меня есть

<img src="@ViewBag.ImageData" />
0 голосов
/ 12 ноября 2018

Вы можете использовать FileResult действие:

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

//changed part
return File(data , System.Net.Mime.MediaTypeNames.Application.Octet, item3);    

public FileResult Download()
{
    //this is a string contains 3name of image and i give each of them with this 
   way
  string[] imgname = user.Original_images.Split(',');
        foreach (var item3 in imgname)
        {
            string url2 = "my URL" + 
             + item3 + ".jpg";

           //i download image successfully
            webclient.Headers["Authorization"] = "Basic " + 
              Convert.ToBase64String( 
              Encoding.Default.GetBytes("Username:password"));

            byte[] data = webclient.DownloadData(url2);

           //i don't know what should i do after this...
            return File(data , System.Net.Mime.MediaTypeNames.Application.Octet, item3);
        }


}
...