Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas Upload


Guest Resgatando vidas

Pergunta

Guest Resgatando vidas

Gostaria que ao fazer o upload ele só aceitasse o upload dos arquivos zip, pdf e html mas não estou conseguindo...

O meu script pyton está assim se alguém puder me ajudar...

#"""

#Adicioanando Arquivos para o servidor

#"""

f = file.filename

if f[-3:].lower() in ['zip', 'html', 'pdf']:

from Products.PythonScripts.standard import url_quote

#Criando Arquivo

context.biblioteca.arquivos.manage_addProduct['OFSP'].manage_addFile(id=f, title=', file=file)

#Criando a mensagem de sucesso upload

message = "File '%s' uploaded successfully." % f

#Redirecionamento para pagina principal

return context.REQUEST.RESPONSE.redirect("%s?message=%s" % (container.absolute_url(), url_quote(message)))

else:

message="Tipo de arquivo inválido"

Já tentei modificar o código, mas ele continua dando os mesmos erros...

Este que vem abaixo..

Script line 7

if f[-3:].lower() in ['zip', 'html', 'pdf]:

^

SyntaxError: invalid syntax

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest Erro restrição upload

Eu fiz a identação certinha... (o código só está assim alinhado porque eu dei um ctrl+c e um ctrl+v p/ colar aqui no forum ) O erro não existe mais, mas eu ainda não consigo fazer a restrição dos arquivos, até tentei mudar o script o q tb não deu certo, será que você pode me ajudar????

Se tiver um outro script que funcione para restringir arquivos... ou se puder fazer qualquer um dos dois funcionar....

"""

Fazendo o upload do arquivo

"""

from Products.PythonScripts.standard import url_quote

# Direcionando o arquivo para a pasta no servidor

context.upload.Files.manage_addProduct['OFSP'].manage_addFile(id=', title='', file=file)

# Criando mensagem de Sucesso

message="O upload do arquivo '%s' foi realizado com sucesso." % file.filename

# Redirecionando para a pasta - E se necessário para uma determinada página

# on the main page work correctly.

return context.REQUEST.RESPONSE.redirect("%s?message=%s" % (container.absolute_url(), url_quote(message)))

#usando split

file = "id.ext"

file.split(".")[-1]

'pdf'

#usando re (regexp)

import re

file = "id.ext"

regexp = "\.([^.]*)$"

re.findall(regexp, file)

['jpg]

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, acredito que com o split() deveria funcionar. De qualquer forma, já tentou assim...

>>> import os
>>> os.path.splitext('c:/autoexec.bat')
('c:/autoexec', '.bat')

?

E o que, exatamente, ocorre? Não funciona? Envia qualquer tipo de arquivo? Não envia nenhum?

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

O problema consegui resolver modificando o script (o python estou utilizando no linux e não no windows)

Obrigado pela ajuda...

Agora tenho um outro problema....

Não consigo fazer o sistema voltar a mensagem de erro no upload quando o mesmo não for permitido...

O que faço....

Tento usar o else e ele sempre está dando erro e agora?????

Aqui vai o meu script python

"""

Fazendo o upload do arquivo

"""

request = context.REQUEST

from Products.PythonScripts.standard import url_quote

f = request['file']

filename = file.filename

if filename[-3:].lower() in ['zip', 'htm', 'pdf']:

# Direcionando o arquivo para a pasta no servidor

context.upload.Files.manage_addProduct['OFSP'].manage_addFile(id='', title='', file=file)

# Criando mensagem de Sucesso

message="O upload do arquivo '%s' foi realizado com sucesso." % file.filename

(tento utilizar o else aqui e ele da erro)

#Criando mensagem de erro

else

message = "Não foi possivel realizar o upload do arquivo '%s' " % file.filename

# Redirecionando para a pasta - E se necessário para uma determinada página

# on the main page work correctly.

return context.REQUEST.RESPONSE.redirect("%s?message=%s" % (container.absolute_url(), url_quote(message)))

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...