CSSファイルを解析し、すべての背景画像をbase64でエンコードする小さなプロジェクトを書いています。
CSS を正しく解析することはできますが、画像ファイルを base64Encoded 文字列に変換しようとするたびに、返される文字列は常にまったく同じになるようです。
私は何を間違っていますか?
エンコーダーはこちら。すべての画像パスがメソッドに正しく渡されていると仮定してください。この例では、すべての画像が完全修飾 URL であるため、メソッドの最初のセクションで変換が行われます。
Public Sub EncodeImage(ByVal _File As String)
If _File.StartsWith("http") OrElse _File.StartsWith("https") Then
Using _wc As New WebClient()
Common.SetAllowUnsafeHeaderParsing20()
_wc.Headers.Add("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13")
_wc.DownloadFile(_File, "c:\temp.png")
Dim _d As Byte() = _wc.DownloadData(_File)
ImageStrings.Add(New ImageTyping() With {
.SourceFile = _File,
.Base64String = Convert.ToBase64String(_d)
})
_d = Nothing
End Using
Else
Using _fs As New FileStream(_File, IO.FileMode.Open)
Using _br As New BinaryReader(_fs)
Dim _i As Byte() = _br.ReadBytes(_fs.Length)
ImageStrings.Add(New ImageTyping() With {
.SourceFile = _File,
.Base64String = Convert.ToBase64String(_i)
})
_i = Nothing
_br.Close()
End Using
_fs.Close()
End Using
End If
End Sub
これから返されるすべての文字列は次のとおりです。