Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка файлов на сервер, загрузка файлов на сервер 
:(
    Опции темы
lirikKS86
Дата 28.10.2011, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.10.2011

Репутация: нет
Всего: -1



Добрый день коллеги.
Столкнулся с такой проблемой. Моему сайту необходимо обмениваться информацией с 1C:Предприятием через *.xls файлы. На стороне клиента файлы из 1C выгружаются в определенную установленную папку. Надо загрузить их на сервер по нажатию одной кнопки на веб странице, либо считать текстовые данных из них и передать текст. 
Спасибо заранее за помощь...
PM MAIL   Вверх
Gluttton
Дата 28.10.2011, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Начинающий
***


Профиль
Группа: Завсегдатай
Сообщений: 1170
Регистрация: 28.8.2008
Где: Феодосия

Репутация: 2
Всего: 54



Код

        protected void buttonOKClick (object sender, System.EventArgs e)
        {
            // Upload file to http server.
            
            Helper helper = new Helper ();
            
            // Is file can be upload (exist, correct size, etc). 
            bool isUploadFail = false;
            
            string savePath = Request.PhysicalApplicationPath + @"App_Data/Upload/";
            if (fileUpload.HasFile) {
                if (helper.IsValidExtension (fileUpload.FileName) ) {
                    int fileSize = fileUpload.PostedFile.ContentLength;
                    if (fileSize < ConstantProvider.MaxFileUploadSize) {
                        savePath += fileUpload.FileName;
                        fileUpload.SaveAs (savePath);
                        labelUploadStatus.ForeColor = Color.Green;
                        labelUploadStatus.Text = @"Файл передан на сервер.";
                    }
                    else {
                        isUploadFail = true;
                        labelUploadStatus.ForeColor = Color.Red;
                        labelUploadStatus.Text = @"Размер файла превышает допустимый (8 Мб).";
                    }
                }
                else {
                    isUploadFail = true;
                    labelUploadStatus.ForeColor = Color.Red;
                    labelUploadStatus.Text = @"Тип файла не соответствует допустимым.";
                }
            }
            
            // If user select file and was not problem.
            if (!isUploadFail) {
                string insertCommand = 
                    "insert into claim_appendix (";
                if (fileUpload.HasFile)
                    insertCommand +=
                        "data, " +
                        "data_file_name, ";
                insertCommand +=
                        "claim_id) " +
                    "values (";
                if (fileUpload.HasFile)
                    insertCommand +=
                        "@data, " +
                        "@dataFileName, ";
                insertCommand +=
                        "@claimID);";
                    
                // Execute SQL-command to insert record in database.
                FbCommand command = new FbCommand (insertCommand);
                
                if (fileUpload.HasFile) {
                    helper.CommandParameterAdd (command, "@data", savePath, FbDbType.Binary);
                    helper.CommandParameterAdd (command, "@dataFileName", Path.GetFileName (savePath), FbDbType.VarChar);
                }
                helper.CommandParameterAdd (command, "@claimID", dropDownListClaimID.SelectedItem.Value, FbDbType.BigInt);

                DataAccessLayer dataAccessLayer = GetDataAccessLayerForCurrentUser ("project_manager");
                dataAccessLayer.ExecuteNonQuery (command);
                
                command.Dispose ();
                
                dataAccessLayer.Dispose ();
                
                // Delete inserted file from temporal directory.
                if (fileUpload.HasFile)
                    File.Delete (savePath);
                
                dropDownListClaimAppendix.DataBind ();
            }
        }


Кусок рабочего кода, который для того, что бы сохранить файл в БД, сначала загружает его на сервер.


--------------------
Слава Україні!
PM MAIL   Вверх
lirikKS86
Дата 1.11.2011, 08:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 6.10.2011

Репутация: нет
Всего: -1



Gluttton, проблема состоит в том, что файлы не выбираются пользователем, а лежат в известной программисту клиентской папке. 
И пользователь не должен их выбирать в fileUpload. Ему необходимо нажать на кнопку загрузить, после чего файлы из клиентской папки должны быть перемещены на сервер.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0508 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.