Я использую Windows некоторое время, и с ним есть функция, когда вы хотите загрузить фотографию (например) на веб-сайт, вы нажимаете «Выбрать файл» в Chrome, чтобы загрузить фотографию, Откроется «Проводник», и вместо выбора файла с жесткого диска вы можете вставить URL-адрес в «Проводник» и нажать «Открыть», и он будет загружать файл из Интернета во временные файлы и использовать его для загрузки ,
Есть ли способ сделать это в Ubuntu 12.10?
Вот пример Windows: Загрузка с url через File Explorer
И обязательное решение командной строки :) В духе этого ответа: Что такое эквивалент командной строки для копирования файла в буфер обмена? Я написал простой скрипт 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.
Я не кодер 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 и обрабатывает его соответствующим образом.