Save the result of urlread as file in current directory instead of a variable in the workspace

3 visualizaciones (últimos 30 días)
I would like to find an answer to unzip the result of the urlread funtion that's a zip archive. The result experienced is the fallowing:
if true
>> urlread('http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip?2d1147c9cf376b26c445ffee4d2b37d1');
>> unzip(ans)
??? Error using ==> checkfilename>validateFilename at 184
Function UNZIP was unable to find file 'PK'.
Error in ==> checkfilename at 50 [fullfilename, fid] = validateFilename( ...
Error in ==> parseUnArchiveInputs at 87 [archiveFilename, url] = checkfilename(archiveFilename, validExtensions, ...
Error in ==> unzip at 52 [zipFilename, outputDir, url, urlFilename] = parseUnArchiveInputs( ...
>> unzip('exch.zip') Warning: Permission denied to overwrite file ".\eurofxref-hist.csv". > In iofun\private\extractArchive>extractArchiveEntry at 108 In iofun\private\extractArchive at 52 In unzip at 92 >> unzip('exch.zip') >> end
Also I didn't find how to overwrite the unziped file if this is needed. If I need to download a zip file with urlread() how I can save it in current directory instead of a variable in the workspace. Many thanks for reading this post and answers.

Respuesta aceptada

Jan
Jan el 26 de Feb. de 2014
Editada: Jan el 26 de Feb. de 2014
You can save the file using urlwrite instead of urlread:
file = fullfile(cd, 'TheZipFile.zip');
urlwrite(['http://www.ecb.europa.eu/stats/eurofxref/eurofxref-', ...
'hist.zip?2d1147c9cf376b26c445ffee4d2b37d1'], ...
file);
unzip(file);
urlread replies the contents of the read file as a variable, but unzip expects a file name.
  2 comentarios
Reema Alhassan
Reema Alhassan el 23 de Mayo de 2018
Editada: Reema Alhassan el 23 de Mayo de 2018
hi Jan what if I have a matrix of urls how can I do it? if I put variable instead of the first field in urlwrite() function I get an error
thanks

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Downloads en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by