Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Закрыть открытый zip-файл / 6 сообщений из 6, страница 1 из 1
04.08.2014, 12:04
    #38711974
majhool001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрыть открытый zip-файл
работаю в приложении с zip-файлом.
при попытке удалить файл после завершения работы вылетает ошибка что файл занят другим процессом,невозможно получить доступ и тп. как закрыть этот файл,чтобы его можно было удалить?
...
Рейтинг: 0 / 0
04.08.2014, 12:07
    #38711978
majhool001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрыть открытый zip-файл
Файл открывается при отправке данного zip-архива в качестве вложения на электронную почту
Затем при клике на кнопку "удалить резервную копию" вылетает ошибка что файл занят другим процессом.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
'делаем резервную копию писем
        Dim folder = _MailStorage
        MyZip(folder, u3 + Now.Date + ".zip")
        Try
            Dim email As New MailMessage
            Dim smtp As SmtpClient
            poluchatel = copy
            smtp = New SmtpClient(smtp1)
            smtp.Credentials = New Net.NetworkCredential(mail, parol)
            email.From = New MailAddress(mail)
            email.To.Add(New MailAddress(poluchatel))
            email.To.Add(New MailAddress(copy))
            email.Body = "Резервная копия входящих писем от " + CStr(Now.Date) + " для " + mail
            email.Subject = "Резервная копия входящих писем от " + CStr(Now.Date) + " для " + mail
            email.Attachments.Add(New System.Net.Mail.Attachment(u3 + Now.Date + ".zip"))
            smtp.Send(email)
            MsgBox("Резервная копия успешно создана!")
        Catch ex As Exception
            MsgBox("Ошибка! Отсутствует подключение к интернету!")
        End Try
...
Рейтинг: 0 / 0
04.08.2014, 14:36
    #38712175
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрыть открытый zip-файл
majhool001,

...можно попробовать открывать файл в MemoryStream, добавлять в Attachment уже этот MemoryStream (а не файл напрямую), и соответственно закрывать MemoryStream .. Но Threading.Sleep(500) перед удалением не помешает ...
...
Рейтинг: 0 / 0
04.08.2014, 14:39
    #38712176
majhool001
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрыть открытый zip-файл
carrotik,

можно пример?
использовал эту функцию но все равно вылетает с той же ошибкой
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Button1_click
checkfile(filename)
(***)
Private Function CheckFile(ByVal filename As String) As Boolean

Try
System.IO.File.Open(filename, IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.None)
FileClose(1)
Return False
Catch ex As Exception
Return True
End Try
End Function
...
Рейтинг: 0 / 0
04.08.2014, 14:48
    #38712186
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрыть открытый zip-файл
majhool001,

...вот примерно так можно сохранить файл в мемори-стрим (для vb.net сами погуглите)
Тынц

...а в Attachment добавляется как-то так
Код: vbnet
1.
Dim objAttachment As New Attachment(ms, strFileName, "application/octet-stream")
...
Рейтинг: 0 / 0
04.08.2014, 14:50
    #38712189
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Закрыть открытый zip-файл
.. но паузу через .Sleep вероятно придется добавить ...
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Закрыть открытый zip-файл / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]