Download 下载并在Julia中写入图像数据

Download 下载并在Julia中写入图像数据,download,png,julia,Download,Png,Julia,我正在使用JuliaRequests包()中的get函数下载文件。有些文件是PNG图像,当我将返回对象中的数据写入文件时: x = get("url here") outfile = open("file.png", "w") write(outfile, x.data) close(outfile) …它确实会将数据写入文件,但当我尝试将其作为图像打开时,会收到文件损坏警告 似乎get并没有将文件作为二进制文件下载,因为当我使用R函数download.file()和mode=“wb”(wri

我正在使用Julia
Requests
包()中的
get
函数下载文件。有些文件是PNG图像,当我将返回对象中的数据写入文件时:

x = get("url here")
outfile = open("file.png", "w")
write(outfile, x.data)
close(outfile)
…它确实会将数据写入文件,但当我尝试将其作为图像打开时,会收到文件损坏警告

似乎
get
并没有将文件作为二进制文件下载,因为当我使用R函数
download.file()
mode=“wb”
(write binary)参数下载文件时,我在文件中获得了不同的数据,并成功地将其作为图像打开


任何人都知道如何正确下载PNG数据,或者一般的二进制数据吗?

对于我来说,
请求
包表现出奇怪的行为,其中
获取
多次相同的URL会导致不同的
数据
长度,通常比文件短得多。无论如何,
HTTPClient
包似乎适合我:

using HTTPClient
png = get("http://cdn.sstatic.net/stackexchange/img/logos/so/so-logo.png")
outfile = open("file.png", "w")
write(outfile, png.body.data)
close(outfile)

(对于这种特殊情况,Julia还有方便的功能
下载(url,文件名)

您可以使用
下载
HTTP.jl
包来实现这一点,
pwd()
可以将文件下载到您的本地目录中

using HTTP
HTTP.download("https://www.someURL.JPG",pwd())


感谢您的回答-我收到以下错误:
ErrorException(“错误编译get:error编译安装程序\u easy\u handle:无法加载模块libcurl:%1不是有效的Win32应用程序。\r\n”)
。这是Windows特有的问题吗?我已经安装了HTTPClient和LibCURL软件包。我真的不知道,我不使用Windows。也就是说,我在Linux和OS X上遇到了其他Julia模块的各种编译问题,通常一些随机的重新安装已经解决了这些问题。