Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Как сохранить картинку в файл через HttpWebRequest Добавлено: 27.10.10 22:29  

Автор вопроса:  Progto
Скачиваю картинку:
Dim request As HttpWebRequest
        Dim response As HttpWebResponse
        Dim reader As StreamReader
        request = HttpWebRequest.Create("http://www.google.com/images/logos/ps_logo2.png")
        request.CookieContainer = New CookieContainer()
        request.Method = "GET"
        request.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru,en-us;q=0.7,en;q=0.3")
        request.Headers.Add(HttpRequestHeader.AcceptCharset, "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7")
        request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
        request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
        request.CookieContainer.Add(New Cookie("nm", "val", "/", "www.google.com"))
        response = request.GetResponse()
        reader = New StreamReader(response.GetResponseStream())
        Dim Str = reader.ReadToEnd
        response.Close()

Как её сохранить в файл? Предполагаю что нужно сохранять в бинарный файл. Пробовал - неполучилось :(
HttpWebRequest юзаю т.к. нужно передать куки серверу

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #1 Добавлено: 27.10.10 23:10
Предполагаю что нужно сохранять в бинарный файл.

ну так и скачивай в бинарном виде а не как строку.. я тебя там бред написан..
явно видно что код не твой а тупо стыренный на просторах инета

Ответить

Номер ответа: 2
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #2 Добавлено: 27.10.10 23:14
  1. Dim Address = "http://www.google.com/images/logos/ps_logo2.png"
  2. Using WC As New Net.WebClient
  3.     WC.Headers(Net.HttpRequestHeader.Cookie) = "nm=val"
  4.     Dim FileData As Byte() = WC.DownloadData(Address)
  5.     IO.File.WriteAllBytes("<filepath>", FileData)
  6. End Using
a с индикатором загрузки (в %) чуть побольше кода..

Ответить

Номер ответа: 3
Автор ответа:
 Progto



Вопросов: 4
Ответов: 8
 Профиль | | #3 Добавлено: 28.10.10 00:09
AgentFire спасибо, но нужно было через HttpWebRequest. Вот что у меня получилось:
  1. Dim request As HttpWebRequest
  2.         Dim response As HttpWebResponse
  3.         Dim reader As StreamReader
  4.         request = HttpWebRequest.Create("http://www.google.com/images/logos/ps_logo2.png")
  5.         request.CookieContainer = New CookieContainer()
  6.         request.Method = "GET"
  7.         request.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru,en-us;q=0.7,en;q=0.3")
  8.         request.Headers.Add(HttpRequestHeader.AcceptCharset, "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7")
  9.         request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)"
  10.         request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
  11.         request.CookieContainer.Add(New Cookie("nm", "val", "/", "www.google.com"))
  12.         response = request.GetResponse()
  13.         Dim stream As Stream = response.GetResponseStream
  14.         Dim fout As FileStream = File.Open("logo.png", FileMode.Create)
  15.         Dim intByte As Integer
  16.         Do While Not intByte = -1
  17.             intByte = stream.ReadByte()
  18.             If intByte <> -1 Then
  19.                 fout.WriteByte(CType(intByte, Byte))
  20.             End If
  21.         Loop
  22.         stream.Close()
  23.         fout.Close()
  24.         response.Close()

Ответить

Номер ответа: 4
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #4 Добавлено: 28.10.10 09:30
Progto пишет:
нужно было через HttpWebRequest

Зачем??

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам