Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lajus

Problemas com FSO

Recommended Posts

o que o seu botao esta fazendo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que o seu botao esta fazendo?

A principio eu tinha colocado desta maneira:

 

 

If Request.Form("btnRename") = RenameButtonLabel Then

 

strFileNameOld ="OldFile.txt"

strFileNameNew ="NewFile.txt"

 

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens" & "\" & strFileNameOld))

Call objFile.Copy(Server.MapPath("/galeria/imagens" & strFileNameNew))

Call objFile.Delete()

 

Set objFile = Nothing

Set objFSO = Nothing

 

End If

 

<input name="btnRename" type="submit" class="style9"

value="<%= RenameButtonLabel %>">

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas me diga qual seria o novo nome? voce mesmo digita? ou gera a partir de outra coisa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

quando gerar os botoes poe um link em cada um para a pagina de edicao e poe como parametro o nome da imagem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Mario, vou tentar.

Preciso sair agora, quando voltar vou me dedicar a resolver este problema, mais tarde eu posto os resultados

 

Mais uma vez, muito obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok no aguardo da continuação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, vamos lá...

 

Acho q consegui algum progresso, mas ainda não esta funcionando.

Segue abaixo o novo layout do código para entender melhor:

 

Imagem Postada

 

 

Conforme a figura acima, criei um campo de texto para inserir o novo nome do arquivo, e configurei o código assim:

 

 

CODE

If Request.Form("form_rename") Then

 

strFileNameOld ="strFileName"

strFileNameNew ="RenameformLabel"

 

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens" & "\" & strFileNameOld))

Call objFile.Copy(Server.MapPath("/galeria/imagens" & strFileNameNew))

Call objFile.Delete()

 

Set objFile = Nothing

Set objFSO = Nothing

 

End If

E o form esta assim:

 

<input type="text" name="form_rename" value="<%= RenameformLabel %>">

<input type="submit" value="ok">

 

 

A Página esta abrindo normalmente, mas quando altero o nome (ex. teste) e clico em "ok" aparece o seguinte erro:

 

Microsoft VBScript runtime error '800a000d'

Type mismatch: '[string: "teste, , , , , , , ,"]'

/galeria/delete2.asp, line 40

 

 

A linha 40 é essa:

If Request.Form("form_rename") Then

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

If Request.Form("form_rename") <> "" Then

strFileNameOld =Request.Form("nome_arq_original")
strFileNameNew =Request.Form("form_rename")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens" & "\" & strFileNameOld))
Call objFile.Copy(Server.MapPath("/galeria/imagens" & strFileNameNew))
Call objFile.Delete()

Set objFile = Nothing
Set objFSO = Nothing

End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente assim:

If Request.Form("form_rename") <> "" Then

strFileNameOld =Request.Form("nome_arq_original")
strFileNameNew =Request.Form("form_rename")
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens" & "\" & strFileNameOld))
Call objFile.Copy(Server.MapPath("/galeria/imagens" & strFileNameNew))
Call objFile.Delete()

Set objFile = Nothing
Set objFSO = Nothing

End If

 

Olá Anderson;

 

Fiz o q você falou, mas agora esta dando o seguinte erro:

 

Microsoft VBScript runtime error '800a0035'

File not found

/galeria/delete2.asp, line 46

 

A linha 46 é essa:

Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens" & "\" & strFileNameOld))

 

Mas como o nosso amigo Mario sugeriu, eu coloquei a linha:

response.write(Server.MapPath("/galeria/imagens" & strFileNameOld))

e a resposta foi:

e:\home\meudominio\Web\galeria\imagens

 

Ou seja, parece estar correto, não esta?

 

Outra pergunta, como que eu pego a variavel do nome original?, você colocou assim:

strFileNameOld =Request.Form("nome_arq_original")

 

Não pode ser assim?

strFileNameOld =Request.Form("strFileName")

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando uma barra e colocar o nome que vem do outro form pois strFileNameOld aparentemente ainda esta vazio

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra pergunta, como que eu pego a variavel do nome original?, você colocou assim:

strFileNameOld =Request.Form("nome_arq_original")

 

Não pode ser assim?

strFileNameOld =Request.Form("strFileName")

Onde coloquei 'nome_arq_original' é o nome original do arquivo, antes de renomear, deve ser substituido pelo nome do campo do formulário onde está o nome original.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando uma barra e colocar o nome que vem do outro form pois strFileNameOld aparentemente ainda esta vazio

Mas não existe outro form, ele busca os nomes direto da pasta no servidor, a unica referencia ao nome é o

<%=objFile.Name %>

 

poderia ser algo parecido com isso?

 

strFileNameOld =objFile.Name

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas e aquele que tem o nome para renomear?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código esta todo em uma única página, conforme passei no inicio deste forum, esse código lista os arquivos (imagens) de uma pasta no servidor possibilitando excluir os arquivos selecionados, até essa parte esta tudo funcionando, esse código não fui eu quem fez, o que estou tentando fazer é o seguinte:

Quando o adiministrador logar, vai ter acesso a essa página, onde será possível alem de deletar, poder alterar o nome do arquivo, assim será possível estipular uma ordem para as fotos, já que não existe banco de dados.

Então a foto que for aparecer primeiro ficara com o nome "001.jpg" por exemplo.

 

O que eu fiz até agora foi criar uma nova coluna com o título "renomear" e inseri um campo d texto para o administrador escrever o novo nome, conforme a figura abaixo:

 

(Neste caso, "adriana.jpg" passaria a ter o nome "teste.jpg")

 

Imagem Postada

 

 

Então ficou assim:

 

O Form:

<input type="text" name="form_rename" value="<%= RenameformLabel %>">

<input type="submit" value="ok">

 

e o comando que altera o nome esta assim:

 

If Request.Form("form_rename") <> "" Then

 

strFileNameOld =objFile.Name

strFileNameNew =Request.Form("form_rename")

 

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens/" & "\" & strFileNameOld))

Call objFile.Copy(Server.MapPath("/galeria/imagens/" & strFileNameNew))

Call objFile.Delete()

 

Set objFile = Nothing

Set objFSO = Nothing

 

End If

 

Onde esta o

strFileNameOld =objFile.Name

 

que esta o problema, eu não sei aonde buscar esta variavel, porque o nome original não vem de um form.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ta faltando uma barra e colocar o nome que vem do outro form pois strFileNameOld aparentemente ainda esta vazio

Quando eu coloco mais uma bara, aparece o seguinte error:

 

Server.MapPath() error 'ASP 0174 : 80004005'

Invalid Path Character(s)

/galeria/delete2.asp, line 45

An invalid '/' or '\' was found in the Path parameter for the MapPath method.

 

Linha 45 = Set objFile = objFSO.GetFile(Server.MapPath("/galeria/imagens/" & "\" & strFileName))

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora tem barra demais tiozinho voce colcou uma \ e uma /, tire a barra invertida

 

mas tem de pegar corretamente tambem o nome do arquivo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.