我现在想向网页上面上传一个文件,文件的格式为word文件,中间有定义好的各种标签,在客户端的ocx上面插入了各项内容后,在保存的时候自动上传到服务器的网页上面,服务器上有一个程序,在受到request后,进行解析,然后变成相应的word文件保存起来!为了能够
定义两个变量保存文件名,全局变量
docfile:string;//创建、下载生成临时文件
  docsave:string;//保存文件名,在编辑时也可上传,做法:由docfile复制到此文件,上传然后下载的时候用
  temp:=downloadjsp+'?id='+tempID;//进行转换,否则pchar类型会出现空的错误
  URLDownloadToFile(IUnknown(FDelphiControl.VCLComObject),
    PChar(temp), PChar(docfile), 0, nil);  oldfileinfo:=getfileinfo(docfile);//然后定义一个timer,时间间隔为3秒,timer的事件为
  newfileinfo:longint;
  //getfileinfo的功能为取文件大小
  newfileinfo:=getfileinfo(docfile); 
    if oldfileinfo<>newfileinfo then
    begin
      oldfileinfo:=newfileinfo;
      //为保证在编辑时仍可上传,复制文件,将复制件上传
      copyfile(pchar(docfile),pchar(docsave),false);
      upload(docsave);
    end;
在upload函数中
procedure TOpenWordX.upload(const filename: WideString);
var
  EncodedDataString: string;
  PostData: OleVariant;
  Headers: OleVariant;
  I: Integer;
begin  EncodedDataString:=
  'fileid='+httpencode(downfileid)+'&filename='+httpencode(filename);
  PostData := VarArrayCreate([0,
    Length(EncodedDataString) - 1],
    varByte);
  for I := 1 to Length(EncodedDataString) do
     PostData[I-1] := Ord(EncodedDataString[I]);  TVarData(PostData).vType:= varArray ;  Headers :='Content-Type:multipart/form-data' + #10#13;  Web.Navigate(uploadjsp,
     EmptyParam,
     EmptyParam,
     PostData,
     Headers);
end;我总是觉得这个upload函数中有问题,但是不知道问题在什么地方,postdata应该是上传的内容,但是在各种各样的帮助文档上面对他的作用的说明都不一样,具体应该怎么运用?
还有就是在判断上传的时间上面应该也有问题,仅仅判断文件大小我觉得应该是错误的,有没有什么更好的办法?用户一旦保存了文档,文件的内容是应该改变的,这样可以避免上传的次数过多,但是现在的情况好像是oldfileinfo和newfileinfo好像总是不相等的!为什么会这样