É possivel criar pastas e sub-pastas em uma aplicação web ?

gostaria de criar algo parecido com a estrutura do google drive , onde é possivel criar pastas e sub-pastas dinamicamente algo como

qual seria o caminho a seguir para construir algo assim ?

Seria para copia e colar no navegador, como é no google drive?

sim, exatamente andrebmarinho

seria muito custoso fazer algo assim ?

Eu estou trabalhando numa aplicação web que faz o upload do arquivo e vai gravando em pastas de acordo com a extensão, porém não tem a funcionalidade de gravar e copiar arquivos soltando e colando no browser como é o google docs, Se quiser te mando o codigo até onde eu fiz, porém o problema que você tem é mais complexo, lógico que não é impossivel, mas vai exigir mais pesquisa.

ficarei grato se você puder fazer isso andrebmarinho !

vai me ajudar muito

Desculpa a demora, pois estou com a ideia de fazer um projeto e disponibilizar e colocar no meu Git, mas na última semana não tive tempo, então vou colocar o código aqui e em breve disponibilizo o projeto.

<h:form enctype="multpart/form-data" id="principal">
				
				<p:growl showDetail="true" id="infor"></p:growl>
				
				<p:fileUpload auto="true" label="Carregar" value="#{fileUploadController.file}"
					fileUploadListener="#{fileUploadController.upload}" update="infor :chave" process="infor chave" >
						
				</p:fileUpload>
				
				
			
				
			</h:form>

Na minha classe FileUploaderController ficou assim o metodo que trata do arquivo e grava de acordo com a extensão.

public void upload(FileUploadEvent event) {

		try {

			this.file = event.getFile();
			Arquivo arquivo = new Arquivo(this.file);
			ArquivoDAOImplemantacao arquivoDAOImplemantacao = new ArquivoDAOImplemantacao();
			String extensao = arquivo.getExtensao();
			if (extensao.contains("text/xml")) {
				ParseXmlNfe parseXmlNfe = new ParseXmlNfe(this.file.getInputstream());
				this.nfe = parseXmlNfe.getNfe();
				ativarPNfe();
			}

			for (int i = 0; i < nfe.getItens().size(); i++) {
				System.out.println(nfe.getItens().get(i).getCodProduto() + " " + nfe.getItens().get(i).getDescricao());
			}

			System.out.println("O CNPJ do emitente é " + nfe.getFornecedor().getCnpj());
			System.out.println("A natureza de operacao é "+nfe.getNaturezaOperacao());

			String caminho = arquivoDAOImplemantacao.gravar(arquivo, nfe.getFornecedor().getCnpj(),
					nfe.getLoja().getCnpj(), nfe.getNaturezaOperacao());
			NfeRN nfeRN = new NfeRN();
			nfe.setCaminhoXml(caminho);

			nfeRN.salvar(nfe);
			FacesMessage message = new FacesMessage("Exito!, " + file.getFileName() + " armazenado no servidor.");
			FacesContext.getCurrentInstance().addMessage(null, message);

		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			FacesMessage message = new FacesMessage("Ocorreu um erro na gravação da Nfe ");
			FacesContext.getCurrentInstance().addMessage(null, message);
		}

muito obrigado já é um caminho…

1 curtida