Я использовал Windows некоторое время, и с ним существует функция, когда Вы хотите загрузить фотографию (например), на веб-сайт, Вы нажимаете, "Выбирают Файл" в Chrome для загрузки фотографии, "Файловый менеджер" открывается, и вместо того, чтобы выбрать файл из жесткого диска, можно вставить URL в "Файловый менеджер" и нажать открытый, и он будет загружать файл от сети до временных файлов и использовать его, чтобы быть загруженным.
Есть ли какой-либо способ, которым я могу сделать это в Ubuntu 12.10?
Вот пример окон:
Загрузка от URL с помощью Файлового менеджера
Я не кодер Python, но я действительно хотел что-то вроде этого, что загрузило файлы. Я попробовал ответ Sergey, но он не работал на чат 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)
Теперь это добавляет расширение файла к временному имени, таким образом, FB определяет надлежащий mimetype и рассматривает его соответственно.
Эта функция реализована в диалоге открытия файла операционной системы. На самом деле сайт или браузер, который вы используете, не имеет значения, потому что это зависит от операционной системы.
Диалог открытия файла Gnome, используемый в Ubuntu, не поддерживает эту функцию, однако диалог открытия файла, используемый в KDE, может открывать URL-адреса HTTP. Я не уверен, какова ситуация с поддержкой в других других средах рабочего стола, которые работают в Ubuntu.
И обязательное решение для командной строки :) В духе этого ответа: Что такое командная строка, эквивалентная копированию файла в буфер обмена? Я написал простой скрипт на 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
) и установите для него разрешение на выполнение: [ 1110]
chmod +x ~/bin/gimme
Ааа, и вам понадобится xclip
, чтобы он работал:
sudo apt-get install xclip
И вот как это использовать:
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.