VB. NET Ошибка образа магазина: в GDI + произошла общая ошибка c (обновлено) - PullRequest
0 голосов
/ 25 апреля 2020

Я использую pathstring для хранения и получения изображения в базе данных.

Когда я выбираю новое изображение для замены старого, появляется сообщение об ошибке:

1. Обобщенная ошибка c произошла в GDI +

Я ищу в Google, что одним из возможных ответов является то, что оно не может заменить старое изображение новым изображением с таким же путем. Но я все еще сохраню sh, чтобы сохранить и заменить старое изображение новым изображением с одним и тем же путем для чистого управления изображениями.

Я пытаюсь использовать хитрость, которая заключается в сохранении нового изображения с другим путем имя, удалите старое изображение, затем переименуйте новое изображение в исходный путь. Но система не позволяет мне удалить старое изображение, так как оно используется другим процессом.

Я перепостил это, поскольку я могу описать вопрос не ясно из моего последнего поста. Я надеюсь, что этот пост может дать более подробную информацию о моем вопросе.

Надеюсь, что какой-то эксперт сможет найти решение. Спасибо.

Код для загрузки данных в мою форму

Private Sub FrmEditConcert_Shown(sender As Object, e As EventArgs) Handles Me.Shown
        Dim concertID As String = lblConcert.Text.Substring(0, 8)
        Dim chosenDB As New MusicDataContext
        Dim selected As concert = (From o In chosenDB.concerts
                                   Where o.concert_id = concertID).FirstOrDefault

        Dim pathString As String = System.IO.Path.Combine(selected.image)

        txtEditName.Text = selected.name
        txtEditDescription.Text = selected.description
        cboEditTime.SelectedItem = selected.time
        dtpEditDate.Value = selected.date.Date
        pcbEditImage.Image = Image.FromFile(pathString)
End Sub

Код для сохранения данных в базу данных и сохранения изображения с путем

Private Sub btnEditConcert_Click(sender As Object, e As EventArgs) Handles btnEditConcert.Click
        'Create path, prepare store in database 
         Dim concertID As String = lblConcert.Text.Substring(0, 8)
         Dim editName As String = concertID & ".jpg"
         Dim folder As String = "C:\Users\e-default\Desktop\assignment\Uploaded Image"
         Dim pathString As String = System.IO.Path.Combine(folder, editName)

         'Generate new concert
         Dim db As New MusicDataContext()
         Dim c = (From o In db.concerts
                  Where o.concert_id = concertID).FirstOrDefault

         c.name = txtEditName.Text
         c.description = txtEditDescription.Text
         c.time = cboEditTime.SelectedItem
         c.date = dtpEditDate.Value
         c.image = pathString
         db.SubmitChanges()

         'Save image to folder (Error occurs here)
         pcbEditImage.Image.Save(pathString)
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...