这样的,最近的一个项目需要在客户端传文件到web服务器,在web服务器通过asp.net自动命名后返回路径,目前找了蛮多资料,有两种方式,一个是TIdHTTP,一个是调用wenservice,可是这两个方式好像都不行,TIdHTTP传的文件是乱码,
在C#是这么接收的
byte[] Docbuffer = Request.BinaryRead(Request.TotalBytes); FileStream objFS = new FileStream(Server.MapPath("1.txt"), FileMode.Create);
BinaryWriter objBW = new BinaryWriter(objFS);
objBW.Write(Docbuffer);
objBW.Close();
objFS.Close();是不是不对呢?
webservice方式调用后出现
Unable to retrieve the URL endpoint for Service/Port....跪求各位大侠给解决方案小弟叩谢
在C#是这么接收的
byte[] Docbuffer = Request.BinaryRead(Request.TotalBytes); FileStream objFS = new FileStream(Server.MapPath("1.txt"), FileMode.Create);
BinaryWriter objBW = new BinaryWriter(objFS);
objBW.Write(Docbuffer);
objBW.Close();
objFS.Close();是不是不对呢?
webservice方式调用后出现
Unable to retrieve the URL endpoint for Service/Port....跪求各位大侠给解决方案小弟叩谢
解决方案 »
- C#2008 水晶报表怎么动态修改 TextObject 文本对象的值 C/S
- 父窗体和子窗体问题
- SQL问题,字段值包含"
- 悬赏!汉信码开发包....
- richTextBox1设置的字体为宋体,但是为什么输入英文字母时,显示的不是宋体呢?请问怎么解决呢?
- 写好的Win Service 安装之后不能启动!!!!急
- 如何用C#实现交通灯 急就一个字!!!!!!
- C#中用哪个运算符计算出2除以10的值为0.2??????
- C#从XML文件利用XPAth获取指定属性值,并显示到datagridview
- C#中大量数据造成toolTip混乱。
- 做个B/S系统,要能具有传真的功能,具有权限的用户登入系统后 可以通过系统,然后通过传真机 根据系统提
- 在线求助。。。C#保存文件的
procedure SendPostData;stdcall;
Const
CRLF = #13#10;
var
Source: TMemoryStream;
Source1: TMemoryStream;
Response: TStringStream;
S,s1: String;
begin
Screen.Cursor := crHourGlass;
try
form1.HTTP.Request.Username := '';
form1.HTTP.Request.Password := '';
//HTTP.Request.ProxyServer := '';
form1.http.Port:=80;
form1.HTTP.Request.ContentType := 'multipart/form-data';
//form1.HTTP.Intercept := form1.LogDebug;
//http.InterceptEnabled
//HTTP.InterceptEnabled := true; Response := TStringStream.Create('');
try S := '-----------------------------7cf1d6c47c' + CRLF +
'Content-Disposition: form-data; name="file1"; filename="'+filename+'"'+CRLF +
'Content-Type: application/octet-stream' + CRLF + CRLF; //上传文件内容
s1:='file one content. Contant-Type can be application/octet-stream or if'+
'you want you can ask your OS fot the exact type.' + CRLF +
'-----------------------------7cf1d6c47c' + CRLF + //分界符,用于分隔表单(Form)中的各个域
'Content-Disposition: form-data; name="text1"' + CRLF + CRLF +
'hello2' + CRLF +
'-----------------------------7cf1d6c47c--'; //提交的下一个表单内容域的内容
s1:=CRLF +'-----------------------------7cf1d6c47c' + CRLF +
'Content-Disposition: form-data; name="text1"' + CRLF + CRLF +
'hello2' + CRLF +
'-----------------------------7cf1d6c47c--'; Source := TMemoryStream.Create;
Source1 := TMemoryStream.Create;
Source1.LoadFromFile(filename);
Response:=TStringStream.Create('') ;
Response.CopyFrom(source1,source1.Size); s:=s+Response.DataString;//因为只能传字符串
Source.Position :=0;
Source.Write(s[1],length(s));
Source.Position :=source.Size ;
Source.Write(s1[1],length(s1));
Response.Position :=0;
try
form1.HTTP.Post(form1.cbURL.Text, Source, Response);
finally
Source.Free;
end;
finally
Response.Free;
end;
finally
Screen.Cursor := crDefault;
end;end;