Файл загрузки от URL

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

Есть ли какой-либо способ, которым я могу сделать это в Ubuntu 12.10?

Вот пример окон:
Загрузка от URL с помощью Файлового менеджера

3
задан 5 January 2017 в 15:20

3 ответа

Я не кодер 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 и рассматривает его соответственно.

0
ответ дан 5 January 2017 в 15:20

Эта функция реализована в диалоге открытия файла операционной системы. На самом деле сайт или браузер, который вы используете, не имеет значения, потому что это зависит от операционной системы.

Диалог открытия файла Gnome, используемый в Ubuntu, не поддерживает эту функцию, однако диалог открытия файла, используемый в KDE, может открывать URL-адреса HTTP. Я не уверен, какова ситуация с поддержкой в ​​других других средах рабочего стола, которые работают в Ubuntu.

0
ответ дан 5 January 2017 в 15:20

И обязательное решение для командной строки :) В духе этого ответа: Что такое командная строка, эквивалентная копированию файла в буфер обмена? Я написал простой скрипт на 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.
0
ответ дан 5 January 2017 в 15:20

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

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