Add ability to open images

This commit is contained in:
Saoud Rizwan
2024-09-10 17:18:21 -04:00
parent 3a4e8b8d96
commit 706ee8a0fe
6 changed files with 34 additions and 2 deletions

20
src/utils/open-image.ts Normal file
View File

@@ -0,0 +1,20 @@
import * as path from "path"
import * as os from "os"
import * as vscode from "vscode"
export async function openImage(dataUri: string) {
const matches = dataUri.match(/^data:image\/([a-zA-Z]+);base64,(.+)$/)
if (!matches) {
vscode.window.showErrorMessage("Invalid data URI format")
return
}
const [, format, base64Data] = matches
const imageBuffer = Buffer.from(base64Data, "base64")
const tempFilePath = path.join(os.tmpdir(), `temp_image_${Date.now()}.${format}`)
try {
await vscode.workspace.fs.writeFile(vscode.Uri.file(tempFilePath), imageBuffer)
await vscode.commands.executeCommand("vscode.open", vscode.Uri.file(tempFilePath))
} catch (error) {
vscode.window.showErrorMessage(`Error opening image: ${error}`)
}
}