我正在使用libcurl下载文件。我下载图像(JPG),但我只能将其保存为txt文件。有没有什么方法可以将数据(字符串)更改为JPG并保存?
由于
编辑:
如何转换此流?
Bitmap b = new Bitmap(data);
b.Save("picture.jpg", b); <-- this gives me error
答案 0 :(得分:1)
答案 1 :(得分:1)
我想你要么
Bitmap b = new Bitmap(data);
b.Save("picture.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
或者只是按原样保存数据......
答案 2 :(得分:0)
下载图像时,您可能会有某种网络流来读取数据。
我首先尝试将该数据写入内存流,然后在该流上创建Bitmap
(Bitmap b = new Bitmap(memStream);
)并将位图保存为JPEG文件。那样有用吗。
否则,你应该真的发布一些源代码,这样我们才能看到你在做什么。
修改强>
发布源代码时请编辑您的问题 - 不要添加其他回复,这不是论坛软件,如果您这样做,人们会感到困惑。
答案 3 :(得分:0)
我不确定为什么你不能将文件保存为.jpg ....因为你使用libcurl这不应该是一个问题:
FILE* f = _tfopen(wLocalFilePath.c_str(), _T("wb+"));
if(!f)
return ERROR_FILE;
curl_easy_setopt(curl, CURLOPT_WRITEDATA, f);
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteFileCallcack);
*注意:代码是用C ++编写的,我不确定你使用的语言是什么,但如果你使用其他语言,它应该给你一个提示。
wLocalFilePath是您希望保存下载内容的文件的完整路径,例如扩展名为(c:\ picture.jpg),您应该打开文件以二进制模式写入,传递文件指针与你的写回调函数一起使用curl句柄,你应该设置它。