我的webservice代码如下:[WebMethod(Description="Web 服务提供的方法,返回是否文件上载成功与否。")] public string zlUploadFile(byte[] fs)
{
try
{

///定义并实例化一个内存流,以存放提交上来的字节数组。
MemoryStream m = new MemoryStream(fs);
///生成新文件名
Random r=new Random(System.Environment.TickCount); //关键就是随机种子
int rnd=r.Next(2,99);
string filename = DateTime.Now.ToString("yyyyMMddhhmss")+Convert.ToString(rnd) ;
string xfilename = ".jpg";
string sfilename=UploadPath + filename + xfilename ;//含有路径的新文件名
string sfileurlname =  filename + xfilename ; //存进数据库的新文件名
///定义实际文件对象,保存上载的文件。
FileStream f = new FileStream(sfilename, FileMode.Create);
///把内内存里的数据写入物理文件
m.WriteTo(f);
m.Close();
f.Close();
f = null;
m = null;
return "文件已经上传成功。";
}
catch(Exception ex)
{
return ex.Message;
}
}
以上webservice方法在.net中已经调试成功在delphi中调用时该如何传参数,该方法引用到在delphi中的声明是
 function  zlUploadFile(const fs: TByteDynArray): WideString; stdcall;
请高手帮忙我的delphi代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var filename:string;
    x:string;
  MStream: TMemoryStream;
  c: array of TByteDynArray;
begin
    HTTPRIO1.HTTPWebNode.UseUTF8InHeader:=true;
    HTTPRIO1.WSDLLocation:='http://localhost/grsb/pswService.asmx';
    HTTPRIO1.Service:='pswService';
    HTTPRIO1.Port:='pswServiceSoap';
    HTTPDeclare:=HTTPRIO1 as pswServiceSoap;  MStream := TMemoryStream.Create;
  try
  if OpenDialog1.Execute then
  begin
  filename:=OpenDialog1.FileName;
  MStream.LoadFromFile(filename);
  MStream.Position := 0;
  SetLength(c, MStream.size);
  MStream.ReadBuffer(c[0], MStream.size);
  x:=HTTPDeclare.zlUploadFile(c[0]);
  //ShowMessage(x);
  end;
  finally
    MStream.Free;
  end;
end;