Я не могу удалить исходный файл растрового изображения даже после его удаления.
Я хочу изменить элемент свойства изображения, а затем изменить имя файла источника изображения на форму даты изображения. Когда я пытаюсь удалить исходное изображение после переименования копии, я получаю обычное сообщение: "доступ к пути 'H:\Photos\Test Folder\MBR_1.JPG-это отрицается." Общий ответ на эту проблему заключается в том, чтобы избавиться от образа. Я так и сделал, но я все еще получаю сообщение. Если код кажется вам смешным, то это потому, что так оно и есть VB.NET.
Что я уже пробовал:
Imports System.IO Imports System.Drawing.Imaging Sub test(ByVal szFolder As String) Dim aszFiles() As String = Directory.GetFiles(szFolder) For intFile As Integer = aszFiles.Length - 1 To 0 Step -1 Dim szOriginalFile As String = aszFiles(intFile) ' Determine if this file is a .jpg or .avi file Dim szExtension As String = LCase(Path.GetExtension(szOriginalFile)) Select Case szExtension Case ".jpg", ".jpeg" Try Dim szFilePath As String = Path.GetDirectoryName(szOriginalFile) If szFilePath = "" Then szFilePath = Path.GetPathRoot(szOriginalFile) ' If root path is selected. If Microsoft.VisualBasic.Right(szFilePath, 1) <> "\" Then szFilePath &= "\" Dim szTempBakFile As String = Path.GetDirectoryName(szOriginalFile) & "\" & _ Path.GetFileNameWithoutExtension(szOriginalFile) & ".bak" If Microsoft.VisualBasic.Right(szFilePath, 1) <> "\" Then szFilePath &= "\" Dim szNewFile As String = Path.GetDirectoryName(szOriginalFile) & "\" & _ "File" & intFile.ToString & ".jpeg" If szNewFile <> szOriginalFile Then Dim Image1 As Bitmap = New Bitmap(szOriginalFile) ' If file has no bitmap, Try-Catch goes to Next File Image1.Save(szTempBakFile, ImageFormat.Jpeg) ' save Image1 as "old name.bak" Image1.Dispose() ' Unlock file File.Move(szTempBakFile, szNewFile) ' Rename image with new name File.Delete(szOriginalFile) ' Delete file End If Catch ex As Exception MsgBox(ex.ToString) End Try End Select Next End Sub