我的要求是,每天会在我的服务器上产生几百张图片,用户通过我的软件查看图片,但不一定会全部看这些图片,所以我想看一张我保留一张,每次显示图片的时候,把这张图片与网络上的图片对比一下,如果图片没有更新,就直接显示本(Timage)图片,如果同一张图片有更新或是没有显示过,就通过webbrowser显示,再把临时文件保存下来。现在问题是,图片通过webbrowser显示后产生的临时文件在internet临时文件夹中,第一如何与服务器文件对比,第二,把这个文件备份到我想要的指定目录下后,还能不能与服务器上的文件对比,如何对比。
另外:能不能这样,都用Timage显示,1。如果没有下载,用什么方法可以直接用Timage显法网络上的图片,而且只要显示过而且网络上没有更新,我就直接本地显示。2.如果我将图片下载到我指定的目录中,如何判断该图片有没有更新。
另外:能不能这样,都用Timage显示,1。如果没有下载,用什么方法可以直接用Timage显法网络上的图片,而且只要显示过而且网络上没有更新,我就直接本地显示。2.如果我将图片下载到我指定的目录中,如何判断该图片有没有更新。
procedure TForm1.Button6Click(Sender: TObject);
var
mStr : string;
begin
//showmessage(idhttp1.Version);
IdHttp1.HandleRedirects := True;
IdHttp1.Get('http://www.softhy.net/down.asp?id=9586&no=1');
//mStr := IdHttp1.Get('http://www.zgzcw.com');
showmessage(mStr);
end;procedure TForm1.IdHTTP1Redirect(Sender: TObject; var dest: String;
var NumRedirect: Integer; var Handled: Boolean;
var VMethod: TIdHTTPMethod);
begin
showmessage(dest);
end;procedure TForm1.IdHTTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
var
mFileStream: TFileStream;
begin
//showmessage(idhttp1.Response.ContentType);
mFileStream := TFileStream.Create('d:\test.rar',fmCreate);
mFileStream.CopyFrom(IdHttp1.Response.ContentStream,0);
mFileStream.Destroy;
end;jpeg文件有exif信息,可用于记录一些文件信息,比如生成时间,拍照相机型号等,可以利用相关字段来判断是否为新文件。
exif的说明可以参见:http://www.exshow.net/download/exif.htm,很详细的(据说是小日本写的,学学也无妨)
然后和本地的比较,如果本地的是旧的,就后台下载下来,然后再给用户看,不要通过webbrowser
行是可行,不知道还有没有更简单或是更少利用网络数据的判断方法