powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / При отправке файла (FileUpload ) но блокируется?!?
7 сообщений из 7, страница 1 из 1
При отправке файла (FileUpload ) но блокируется?!?
    #33990381
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Web - форма.
На ней контрол FileUpload.
Выбираю файл - екселевский документ.
Отправляю на сервер. Сервер принимает и начинает обрабатывать.
Открывает его, читает данные и заливает в БД.
Если нет ошибок все нормально.
Можно его сколько угодно раз выбирать и вновь заливать на сервер.

Но если екселевский файл косячный, то мое Web - приложение выдает ошибку и прерывает процесс.
Все через блок Try .. Catch ... End Try
То есть приложение дает уведомлению юзеру, что файл некорректный, мол повторите снова.

Если снова пытаешся выбрать этот файл, то в следующий раз пишет:
the process cannot access the file ... because it is being used by another process

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

Как этого избежать программно?
Чтобы если этот файл не того формата, освободить ссылки на него?
Я не понял где,в каком процессе он виснет?

Заранее благодарен за ответ.
...
Рейтинг: 0 / 0
При отправке файла (FileUpload ) но блокируется?!?
    #33990392
Dmitry Uvarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
было бы неплохо показать свой чудо-код заливки файлаhttp://ln.com.ua/~openxs/articles/smart-questions-ru.html
...
Рейтинг: 0 / 0
При отправке файла (FileUpload ) но блокируется?!?
    #33990756
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
    Protected Sub Chudo_Yude_Code()
        Try

            Dim Path As String
            Path = Request.MapPath(Request.ApplicationPath) & "\Files\" & fileUploadMy.FileName

            fileUploadMy.PostedFile.SaveAs(Path)

            Dim CnnExcel As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path & ";Extended Properties=Excel 8.0;"

            Dim cnnEx As New OleDb.OleDbConnection(CnnExcel)
            cnnEx.Open()

            Dim ds As New DataSet
            Dim strSQL As String

            strSQL = "select * from [Лист1$]"

            Dim da As New OleDb.OleDbDataAdapter(strSQL, cnnEx)
            ds.Clear()
            da.Fill(ds, "excel")

            Dim tbl As DataTable = ds.Tables("excel")

	    ...
		' Дальше код по закачке в БД
		' и если здесь возникает ошибка
		' то екселевский файл блокируется
		' если ошибки нет, то все нормально
	    ...

        Catch ex As Exception
            Select Case ex.Message
                Case Else
                    Response.Write(ex.Message)
            End Select

        End Try


End Sub
...
Рейтинг: 0 / 0
При отправке файла (FileUpload ) но блокируется?!?
    #33992272
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Неужели никто не сталкивался???
...
Рейтинг: 0 / 0
При отправке файла (FileUpload ) но блокируется?!?
    #33993083
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такое ощущение, что ни у кого, никогда не возникает тех проблем, которые появляются у меня.

Я наверное избранный :)
...
Рейтинг: 0 / 0
При отправке файла (FileUpload ) но блокируется?!?
    #33993119
Фотография vladgrig
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
честно, не сталкивался... про избранность - это хорошо - чувство юмора на месте, значит и проблему решить можно ;)
как происходит закачка - интересно то место, которое просто закоментировано?
есть думка, что там коннект закрывается в случае успеха, а в случае неудачи, попадаем в блок catch где коннект так и остаётся открытым.
есть такая фича как finally в блоке Try Catch Finally туда закинь операции по высвобождению ресурса - он будет исполнятся в любом случае...
пример
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
Try
            Dim CnnExcel As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Path & ";Extended Properties=Excel 8.0;"

            Dim cnnEx As New OleDb.OleDbConnection(CnnExcel)
            cnnEx.Open()

            Dim ds As New DataSet
            Dim strSQL As String

            strSQL = "select * from [Лист1$]"

            Dim da As New OleDb.OleDbDataAdapter(strSQL, cnnEx)
            da.Fill(ds, "excel")

            Dim tbl As DataTable = ds.Tables("excel")

	    ...
		' Дальше код по закачке в БД
		' и если здесь возникает ошибка
		' то екселевский файл блокируется
		' если ошибки нет, то все нормально
	    ...

        Catch ex As Exception
            Select Case ex.Message
                Case Else
                    Response.Write(ex.Message)
            End Select
        Finally
            If cnnEx.State=Open Then cnnEx.Close
            'за особую точность синтаксиса не ручаюсь - положись на intelisence
        End Try
...
Рейтинг: 0 / 0
При отправке файла (FileUpload ) но блокируется?!?
    #33993363
Kroket
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо буду пробовать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / При отправке файла (FileUpload ) но блокируется?!?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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