upload de Arquivo apex

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
rafaelchagas.sp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Ter, 13 Out 2009 4:52 pm
Localização: Sorocaba - SP

Gostaria de fazer upload de um arquivo para meu servidor através do item "procurar arquivo"..
alguém pode me dar uma idéia de como fazer isso?
Como faço para referenciar em meu código, o caminho do arquivo selecionado do item?

abraços
victorhugomuniz
Moderador
Moderador
Mensagens: 1396
Registrado em: Sex, 01 Fev 2008 2:06 pm
Localização: Rio de Janeiro - RJ
Contato:
:D

vê se te ajuda
gokden
Rank: DBA Pleno
Rank: DBA Pleno
Mensagens: 264
Registrado em: Dom, 19 Ago 2007 8:18 pm
Localização: Ribeirão Preto - SP
Lucas de Souza

OCA Developer
Analista de sistemas

da forma que fala o tutorial acima, ele mostra como fazer o upload para um campo BLOB....

eu e o meu chefe não gostamos muito da idéia de tacar tudo em um arquivo BLOB, então agente fez um rotina para salvar isso em um arquivo fisico no banco(BFILE) e salvar o BLOB como NULO, assim ele não fica enchendo o banco de dados e aumentando o tamanho do meu backup, já qui agente abusa muito desa parte de ficar enviando arquivo para o banco. e sem falar qui fica mais fácil gerenciar os arquivos físicos do que ficar gerenciando BLOB.
a rotina fiocu assim:

Selecionar tudo

PROCEDURE PKB_UPLOAD_FILE (eb_lob  in blob,
                           pfname  in varchar2,
                           pdir    in varchar2 default 'ANEXO_S') is

vtamanho  integer;
vfile     utl_file.file_type;
vamount   binary_integer := 32767;
vposicao  integer := 1;
vbuffer   raw(32767);
varquivo  varchar2(30);
vn_fase   varchar2(100);
--

BEGIN
--
  vtamanho := dbms_lob.getlength(eb_lob);
--
  vn_fase := 1||'. '||pdir||' - '||pfname;
--
  vfile := utl_file.fopen( pdir,
                           pfname,
                           'wb',
                           32767 );
--
  vn_fase := 2;
--
  while vposicao < vtamanho
  loop
--
    if vposicao + vamount > vtamanho then
      vamount := (vtamanho + 1) - vposicao;
    end if;
--
  vn_fase := 3;
--
    dbms_lob.read(eb_lob, vamount, vposicao, vbuffer);
--
  vn_fase := 4;
--
    utl_file.put_raw(vfile, vbuffer, true);
--
  vn_fase := 5;
--
    utl_file.fflush(vfile);
--
  vn_fase := 6;
--
    vposicao := vposicao + vamount;
--
  end loop;
--
  utl_file.fclose(vfile);
--

EXCEPTION
   when others then
        raise_application_error (-20001, vn_fase||' Erro na PKB_UPLOAD_FILE : ' || sqlerrm);
--

END PKB_UPLOAD_FILE;
dennys.rafael
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Seg, 13 Nov 2017 10:28 am

Oi Lucas.
Utilizando essa procedure dá para implementar este processo no apex?.
Ou seja, o usuário consegue realizar o upload do arquivo e este arquivo ir para um diretório no servidor e depois o usuário realizar o download via apex?
dennys.rafael
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 3
Registrado em: Seg, 13 Nov 2017 10:28 am

Estou testando a procedure e está dando este erro:
erro 29280 caminho de diretório inválido.
Alguém sabe como resolvo?
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes