Carregar arquivo do URL

3

Estou usando o Windows há algum tempo, e com ele há um recurso quando você quer enviar uma foto (por exemplo) para um site, clicar no botão "Escolher arquivo" no Chrome para fazer upload de uma foto, "File Explorer" é aberto e, em vez de selecionar um arquivo do disco rígido, você pode colar um URL no "Gerenciador de Arquivos" e pressionar e abrir o arquivo da Web para seus arquivos temporários. e usá-lo para ser enviado.

Existe alguma maneira de fazer isso no Ubuntu 12.10?

Aqui está o exemplo do Windows:
Carregar a partir do URL através do Explorador de Ficheiros

    
por Get Off My Lawn 13.12.2012 / 16:32

3 respostas

4

Essa funcionalidade é implementada pela caixa de diálogo Abrir arquivo do sistema operacional. Na verdade, o site ou o navegador que você usa não importa, porque isso é específico do sistema operacional.

A caixa de diálogo Abrir arquivo do Gnome usada no Ubuntu não suporta esse recurso; no entanto, a caixa de diálogo Abrir arquivo usada no KDE é capaz de abrir URLs HTTP. Não tenho certeza qual é a situação com suporte em outros ambientes de desktop que são executados no Ubuntu.

    
por devius 13.12.2012 / 18:33
1

E uma solução de linha de comando obrigatória :) No espírito desta resposta: Qual é a linha de comando equivalente a copiar um arquivo para área de transferência? Eu escrevi um script Python simples que aceita uma URL para um recurso como um parâmetro, baixa o arquivo / página para um local temporário e copia o nome completo do arquivo para a área de transferência. Tudo o que resta é abrir a caixa de diálogo Open File e pressionar Ctrl-V.

O script:

#!/usr/bin/python2

import os, tempfile, argparse, urllib

parser = argparse.ArgumentParser(description="Download a file from an URL, save it as a temporary file and copy a link to the file to clipboard")
parser.add_argument("url", help="The URL of a file to download")
args = parser.parse_args()

filename = tempfile.mktemp()
urllib.urlretrieve(args.url, filename)
os.system("echo %s|xclip  -i -selection clipboard" % filename)
print("File %s has been copied to clipboard, now open a File dialog and press Ctrl-V." % filename)

Para usar, crie um diretório chamado bin em seu diretório inicial, coloque o script lá (eu o nomeou gimme ) e defina permissão executável nele:

chmod +x ~/bin/gimme

Ahh, e você precisará do xclip para funcionar:

sudo apt-get install xclip

E aqui está como usá-lo:

gimme https://askubuntu.com/questions/228667/upload-file-from-url
File /tmp/tmpFXs7_S has been copied to clipboard, now open a File dialog and press Ctrl-V.
    
por Sergey 13.12.2012 / 22:23
0

Eu não sou um programador Python, mas queria algo assim que fizesse upload de arquivos. Eu tentei a resposta do Sergey, mas não funcionou para o bate-papo do Facebook (possivelmente em outro lugar, é onde eu tentei).

Então modifiquei um pouco:

#!/usr/bin/python2

import os, tempfile, argparse, urllib, urlparse
from random import randint


parser = argparse.ArgumentParser(description="Download a file from a URL, save it as a temporary file and copy a link to the file to clipboard")
parser.add_argument("url", help="The URL of a file to download")
args = parser.parse_args()
path = urlparse.urlparse(args.url).path
urlext = os.path.splitext(path)[1]
filename = tempfile.mktemp() + urlext
urllib.urlretrieve(args.url, filename)
os.system("echo %s|xclip  -i -selection clipboard" % filename)
print("File %s has been copied to clipboard, now open a File dialog and press Ctrl-V." % filename)

Agora, ele adiciona a extensão do arquivo ao nome temporário, portanto, o FB identifica o tipo de mima apropriado e o trata apropriadamente.

    
por mattstoicbuddha 23.12.2016 / 08:30

Tags