delphi实现上传文件的客户端非常简单,代码如下var
  stream: TIdMultiPartFormDataStream;
  IdHTTP1: TIdHTTP;
begin
   stream := TIdMultiPartFormDataStream.Create;
   stream.AddFile(tag_name, filename, GetMIMETypeFromFile(filename));
   IdHTTP1.Post(URL,stream)
 
end;这里面的tag_name就是<input>表单里面的name,用来在服务器端区分文件的,当然通过文件名也能够区分.有一个问题是,indy这个控件TIdMultiPartFormDataStream,用本地编码就把文件名传上去了好像就有问题。
我是给jira系统的上传附件的,使用中文名就上传不成功,如果改成英文名就没有问题。
不知道怎么解决。

解决方案 »

  1.   

    1、可能是编码的原因吧
    2、jira好像只关注附件本身,并不关注文件名,所以,楼主可以把那个文件 临时复制到某一个特定目录下,再改为E文,然后上传。
      以前我们一个C#的系统用FTP时也是这种问题,后来就是用此法。
    3、诚邀楼主指点一下小弟的类似一个问题:
    http://topic.csdn.net/u/20091110/16/e9eb6017-120c-4047-a942-650abd01a23a.html