| Предыдущая тема :: Следующая тема   | 
	 
	
	
		| Автор | 
		Сообщение | 
	 
	
		Sant Участник со стажем
 
  Вступление в Клуб: 19.08.2013
  | 
		
			
				 Вт Апр 01, 2014 17:38   Добавить файл в бд | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Добрый день, форумчане!
 
Нужна ваша помощь в реализации одной задачки.
 
Нужно сохранить некоторые документы в бд.
 
Использую тип "Хранение файлов на сервере" операция "Добавить файл BLOB".
 
Сделал следующее:
 
 	  | Код: | 	 		  
 
   full_name := p_file.[DST_PATH] || '/' || p_file.[DST_NAME];
 
   i := stdio.f_info(full_name,attrs,uowner,gowner,mdate,fsize);
 
   debug(full_name||'   attrs='||attrs||'   uowner='||uowner||'gowner='||gowner||'   mdate='||mdate||'   fsize='||to_char(to_number(fsize) / 1024/1024));
 
   if (to_number(fsize) / 1024/1024) > 1 then --если размер файла(архива) больше х мегабайта 
 
      stdio.delete_file(full_name);
 
      pragma error ('Файлы (архивы) размером более 1 мб недопустимы для хранении в бд!!!');
 
   end if;
 
--далее идет добавлении файла в бд
 
 | 	  
 
 
Условия корректно работает но есть один момент файл сначала копируется (физический) на сервер (/usr/utlfile/ibs). Этот момент сильно мучает если файл размером по больше то нужно ждать приличное время до того как получить ошибку.
 
Вопрос у меня такой как можно реализовать данную алгоритм (условию) на уровни клиенткой машине. Т.е. когда пользователь выбирает файл если размер больше положенного то он должен получить соответствующую ошибку.
  Последний раз редактировалось: Sant (Ср Апр 02, 2014 07:34), всего редактировалось 1 раз | 
			 
		  | 
	 
	
		  | 
	 
	
		Alkov Профи
 
  Вступление в Клуб: 23.09.2010
  | 
		
			
				 Ср Апр 02, 2014 03:15    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				Ну наверное в клиент скрипте
 
как-н типа 
 
 
   set fso 	= CreateObject("Scripting.FileSystemObject")
 
   
 
   filePath = tFilePath.Text & tFileName.Text
 
   
 
   If fso.FileExists(filePath) = true then	 
 
	Set f = fso.GetFile(filePath)
 
        fsize.Text =  f.size
 
   End If
 
   
 
   Set fso = nothing | 
			 
		  | 
	 
	
		  | 
	 
	
		Sant Участник со стажем
 
  Вступление в Клуб: 19.08.2013
  | 
		
			
				 Ср Апр 16, 2014 17:18    | 
				     | 
			 
			
				Полезность: Нет оценки 
  | 
			 
			
				| Alkov, спасибо!!! | 
			 
		  | 
	 
	
		  | 
	 
	
		 | 
	 
 
  
	 
	    
	   | 
	
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
  | 
   
 
		 |