我正在编写一个小项目来解析 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
从这里返回的每个字符串都是: