Recuperar Full Path de um componente s:fileUpload do Seam 2.2.2[RESOLVIDO]

4 respostas
I

E ai galera, blza?

Pessoal, estou precisando fazer algo assim:

O Usuário escolhe um arquivo em um disco da rede e autoriza o servidor a fazer transferência desse arquivo, porém esse processo é efetuado por uma PL do banco que cria uma flag para o servidor, enfim, o importante é, eu tenho o componente mas preciso apenas do caminho e não do arquivo.
Dando uma debugada percebi que esse componente do Seam le o arquivo e cria um arquivo temporário para que eu possa trabalhar com ele, e nenhum dos atributos da tag me retorna o full path (Ex: F://Arquivos/Transferencia/arquivoAtransferir.pdf).
Preciso do caminho completo pois um dos parametros da PL é esse caminho completo para que o próprio servidor vá nesse disco especifico da rede e recupere o arquivo. Também preciso fazer uma validação de que o arquivo selecionado está no disco correto exigido, por isso é tão importante pra mim pegar o caminho completo.

Valeu pessoa, obrigado.

4 Respostas

balrog
e nenhum dos atributos da tag me retorna o full path

ja parou pra pensar na hipotese de que quem criou o compenente nao pensou em gente como vc que esta usando o componente erroneamente? o s:fileUpload transmite o arquivo como um array de bytes para o servidor, justamente para VOCE tratar o mesmo da forma que vc quiser, i.e. gravar o mesmo no banco, ou mesmo do file system. Ja parou pra pensar nos problemas a sua solucao vai trazar pro usuario que por exemplo nao tiver o drive F: mapeado?

quer seguir com essa gambiarra, use outro componente, ou escreva o seu.

I

Um pouco mais de respeito é bom e eu gosto ok.

Enfim, em pesquisas encontrei que o IE antigo trazia o full path, então imaginei que de alguma forma fosse possível recuperá-lo, a questão é regra de negócio do cliente, não fui eu quem fiz. Se o cara não tiver o drive F: ou qualquer outro da regra mapeado, DEVE DAR ERRO E TRAZER PROBLEMAS PRO USUÁRIO, leia melhor meu texto que verá que eu já havia explicitado isso.

E por fim, com mais algumas pesquisas e em conversa com o arquiteto do meu projeto constatamos que isso NÃO É UM PADRÃO web por vias de segurança, o projeto web não DEVE mostrar o que tem na máquina usuário e por isso o componente e os browsers trabalham de forma a não trazer o full path, talvez se você tivesse respondido a dúvida com a resposta CORRETA que é essa, eu não te acharia mal educado.

Enfim, obrigado.

balrog

entao, se o seu cliente se jogar de um precipicio vc se joga tbm?

eh incrivel como tem gente como vc, que nao tem a minima ideia do que se trata um sistema web, ou como um deveria funcioar: pois chegou aqui colocando a culpa num componente que nao oferece recursos para as barbaridades que vc queria fazer, vem num forum pedir informacoes, alguem te da uma resposta direta sem mimimi e vc se sente ofendido, show di bola !!!

I

Vamos a aula de educação agora.

Tenho 2 anos de experiência com sistema web, sei muito bem o que estou fazendo, a questão é que nunca realmente havia me deparado com uma situação assim. Se o CLIENTE PEDIU, se passou pelo ANALISTA e chegou até mim, eu só tenho a obrigação de tentar fazer, não coloquei a “culpa” no componente, só não achei a função que queria e vim no fórum pedir por informação e não por crítica. Que tal você tentasse responder “Você não pode fazer isso por causa disso e daquilo” ao invés de dizer “que barbaridade você ta querendo fazer, se quer faça gambiarra faça seu componente”. Sério cara, que tipo de postura é essa?
Por fim, não perderei mais meu tempo com você ok. Você deve ser algum tipo de frustrado na profissão, ou um tipo de cara que se acha porque sabe um pouquinho, ou seja, não é o tipo de profissional que eu gostaria de receber “dicas”.

Encerramos isso aqui ok.

Criado 3 de julho de 2012
Ultima resposta 4 de jul. de 2012
Respostas 4
Participantes 2