在 Powershell 脚本中将 png 图像嵌入到 html 单个文件中

在 Powershell 脚本中将 png 图像嵌入到 html 单个文件中

我正在编写一个包含 png 文件和 html 文件的 powershell 脚本,是否可以在 PowerShell 脚本或类似脚本中处理这些文件,以便我最终可以将其转换为一个单独的 html 文件,并且如果可能的话,该脚本还可以减小 html 文件的大小。

下面是我从谷歌获取的脚本,我已将其构建在此处

$PSScriptRoot = "Inputpngimagepath" $FinalOutput = "outputhtmlfilepath"

Get-Content "$PSScriptRoot\vCenter_CPU_Usage.png" -Raw -Encoding Byte | ConvertTo-DeflateBase64String | Set-Clipboard 
$myvar = "$FinalOutput" 
ConvertFrom-DeflateBase64String $myvar -OutputFormat Byte | Set-Content *.png -Encoding Byte -NoNewline

我想将 html 和 png 文件合并为一个离线 html 文件,以便可以将其作为附件发送。我需要在一封电子邮件中以 html 文件的形式发送大约 21 个 html 文件。我有健康检查报告 html 文件。(即)用户必须单击 21 个 HTML 文件中的每一个才能查看数据,包括图表。

答案1

param(
  [Parameter(Mandatory=$true)]
  [string] $FilePath
)

$imageFile = Get-Item $FilePath
if ($imageFile -eq $null) {
  Write-Error "File not found: $FilePath"
  exit 1
}

$imageData = Get-Content $FilePath -Encoding Byte

$base64EncodedData = [Convert]::ToBase64String($imageData)
$contentType = Resolve-ContentType -Path $FilePath

Write-Output "<img src='data:$contentType;base64,$base64EncodedData' />"

保存至:image-to-base64.ps1
运行它:.\image-to-base64.ps1 "C:\path\to\image.jpg"

相关内容