Export image from URL in custom field

Hi,

Say I have an ID3 tag with an url to a jpeg.
How can I export this jpeg directly to a file?

Thanks.

I assume you want to access an external file given by the URL and store a copy as a local file.
From within different Windows applications it is possible to load or access files by an URL.
Also ... executing an URL string at the CMD processor command line or at the Explorer address line, will download the named URL object and will start some application, which is on your system responsible for the given file type ... for example ... executing the following URL on the commandline will start your standard graphic application and will load the file given by the URL.

URL Examples ... 
http://forums.mp3tag.de/uploads/av-11458.png
http://forums.mp3tag.de/uploads/av-3194.png
http://forums.mp3tag.de/style_emoticons/default/huh.gif

Unfortunately this does not work in Mp3tag in the formatstring dialog of the action "Import cover from file".
And I assume, that referencing a tag-field with a stored URL will also not work.
At least it does not work for me with Mp3tag v2.72b on Win XP.

So you may create and apply an Mp3tag export script, which exports the content of the tagfield, i. e. the stored URL, into a self made "bat" or "cmd" command file or such, and let retrieve and store the image file with the given URL, by executing some graphical exe application (e. g. Irfanview.exe, convert.exe from ImageMagick or whatever else).

DD.20151209.1802.CET

QUOTE (DetlevD @ Dec 9 2015, 17:45) <{POST_SNAPBACK}>
I assume you want to access an external file given by the URL and store a copy as a local file.

From within different Windows applications it is possible to load or access files by an URL.
Also ... executing an URL string at the CMD processor command line or at the Explorer address line, will download the named URL object and will start some application, which is on your system responsible for the given file type ... for example ... executing the following URL on the commandline will start your standard graphic application and will load the file given by the URL.

URL Examples ... 
http://forums.mp3tag.de/uploads/av-11458.png
http://forums.mp3tag.de/uploads/av-3194.png
http://forums.mp3tag.de/style_emoticons/default/huh.gif

Unfortunately this does not work in Mp3tag in the formatstring dialog of the action "Import cover from file".
And I assume, that referencing a tag-field with a stored URL will also not work.
At least it does not work for me with Mp3tag v2.72b on Win XP.

So you may create and apply an Mp3tag export script, which exports the content of the tagfield, i. e. the stored URL, into a self made "bat" or "cmd" command file or such, and let retrieve and store the image file with the given URL, by executing some graphical exe application (e. g. Irfanview.exe, convert.exe from ImageMagick or whatever else).

DD.20151209.1802.CET

Thank you very much!

I ended up making an export that created a .bat containing a simple powershell script:

$filename(x:\mp3tag\scripts\downloadimage.bat,utf-8)cmd
powershell -command "& { iwr %coverlink% -OutFile %_folderpath%%albumartist% - %album%.jpg }"

Then I added "downloadimage.bat" as a tool, so after I have run my actions, I double click on any mp3 and the script runs.

Seems to work fine and the easiest way I could think of. Look ok to you? :slight_smile:

It is possible to construct an Mp3tag tool to download a file, given its URL, without exporting to a bat file.
(see: http://superuser.com/questions/59465/is-it...ws-command-line)

For example:

Name: File Downloader
Path: C:\Windows\System32\cmd.exe
Parameter: /K powershell -command "$clnt = new-object System.Net.WebClient; $clnt.DownloadFile(\"%URL%\", \"%_folderpath%FILE_NAME.$regexp(%URL%,(.+\.)(.+),$2)\")"
  • /K keeps the command window open after the command is executed. Replace it with /C to close the window after execution.
  • %URL% is the placeholder for whichever field is used to store the URL (eg. %coverlink%).
  • FILE_NAME could be any valid string or derived from some other field (eg. %albumartist% - %album%).
  • %_folderpath% causes the downloaded file to be placed in the folder of the selected file. Any other existing folder could be used.
  • The $regexp function obtains the file extension by assuming the extension is the characters following the last dot in the URL.
An existing file with the same path will be overwritten without warning.

Your answer let assume that you know what you are doing, that's fine, and ... additionally to the extended proposal from user "ryerman" I want to point you to the commandline tool ... WGET.
You can call WGET.EXE within a Mp3tag Tool dialog.
This seems to be the straightest way to get a file from the internet.

Example:
Name: WGET coverlink
Path: \WGET\bin\wget.exe
Parameter: %coverlink%

http://gnuwin32.sourceforge.net/packages/wget.htm
https://www.gnu.org/software/wget/
http://wget.addictivecode.org/
https://www.gnu.org/software/wget/manual/ht...ownload-Options
https://www.gnu.org/software/wget/manual/ht...ml#Simple-Usage
http://www.delorie.com/gnu/docs/wget/wget_toc.html

DD.20151209.2202.CET

That works just as well, thanks!

QUOTE (ryerman @ Dec 9 2015, 21:19) <{POST_SNAPBACK}>
It is possible to construct an Mp3tag tool to download a file, given its URL, without exporting to a bat file.

(see: http://superuser.com/questions/59465/is-it...ws-command-line)

For example:

Name: File Downloader
Path: C:\Windows\System32\cmd.exe
Parameter: /K powershell -command "$clnt = new-object System.Net.WebClient; $clnt.DownloadFile(\"%URL%\", \"%_folderpath%FILE_NAME.$regexp(%URL%,(.+\.)(.+),$2)\")"
  • /K keeps the command window open after the command is executed. Replace it with /C to close the window after execution.
  • %URL% is the placeholder for whichever field is used to store the URL (eg. %coverlink%).
  • FILE_NAME could be any valid string or derived from some other field (eg. %albumartist% - %album%).
  • %_folderpath% causes the downloaded file to be placed in the folder of the selected file. Any other existing folder could be used.
  • The $regexp function obtains the file extension by assuming the extension is the characters following the last dot in the URL.
An existing file with the same path will be overwritten without warning.

Thank you very much!