Загрузить файл по URL-адресу

Я использую Windows некоторое время, и с ним есть функция, когда вы хотите загрузить фотографию (например) на веб-сайт, вы нажимаете «Выбрать файл» в Chrome, чтобы загрузить фотографию, Откроется «Проводник», и вместо выбора файла с жесткого диска вы можете вставить URL-адрес в «Проводник» и нажать «Открыть», и он будет загружать файл из Интернета во временные файлы и использовать его для загрузки ,

Есть ли способ сделать это в Ubuntu 12.10?

Вот пример Windows: Загрузка с url через File Explorer

1
задан 5 January 2017 в 16:20

2 ответа

И обязательное решение командной строки :) В духе этого ответа: Что такое эквивалент командной строки для копирования файла в буфер обмена? Я написал простой скрипт Python, который принимает URL-адрес ресурса в качестве параметра, загружает файл / страницу во временное место и копирует полное имя файла в буфер обмена. Осталось только открыть диалог «Открыть файл» и нажать Ctrl-V.

Сценарий:

#!/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)

Чтобы использовать, создайте в своем домашнем каталоге каталог с именем bin , поставьте там скрипт (я назвал его gimme) и установил на него исполняемое разрешение:

chmod +x ~/bin/gimme

Ahh, и вам понадобится xclip, чтобы он работал:

[ f3]

И вот как его использовать:

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.
1
ответ дан 25 May 2018 в 03:24

Я не кодер Python, но мне захотелось что-то вроде этого загружать файлы. Я попытался ответить Сергею, но он не работал в чате Facebook (возможно, в другом месте, это именно то, где я его пробовал).

Поэтому я немного изменил его:

#!/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)

Теперь он добавляет расширение файла к имени temp, поэтому FB идентифицирует правильный тип mimetype и обрабатывает его соответствующим образом.

0
ответ дан 25 May 2018 в 03:24

Другие вопросы по тегам:

Похожие вопросы: