我用IDHTTP上传一张超过20m的图片
sendbuffersize=32768时提示socket error 10053
sendbuffersize=10000000提示socket error 10054
不知道是说明原因,idhttp能否发送大文件呢?
以下是发送部分代码:
var
mpfSource : TIdMultiPartFormDataStream;
FResponseStream: TStringStream;
mpfSource := TIdMultiPartFormDataStream.Create;
FResponseStream := TStringStream.Create('');
try
try
with FIdHTTP do
begin
Request.ContentType := mpfSource.RequestContentType; mpfSource.AddFormField('path', 'meinv/');
mpfSource.AddFile('upfile', 'C:/aaa.jpg', 'image/pjpeg'); //c:/aaa.jpg大小28m
mpfSource.Position := 0;
Post('http://localhost/fileup.asp', mpfSource, FresponseStream); //这里出错 Result := FresponseStream.DataString;
end;
except on E: Exception do
Result := UploadFailed;
end;
finally
mpfSource.Free;
FResponseStream.Free;
end;
sendbuffersize=32768时提示socket error 10053
sendbuffersize=10000000提示socket error 10054
不知道是说明原因,idhttp能否发送大文件呢?
以下是发送部分代码:
var
mpfSource : TIdMultiPartFormDataStream;
FResponseStream: TStringStream;
mpfSource := TIdMultiPartFormDataStream.Create;
FResponseStream := TStringStream.Create('');
try
try
with FIdHTTP do
begin
Request.ContentType := mpfSource.RequestContentType; mpfSource.AddFormField('path', 'meinv/');
mpfSource.AddFile('upfile', 'C:/aaa.jpg', 'image/pjpeg'); //c:/aaa.jpg大小28m
mpfSource.Position := 0;
Post('http://localhost/fileup.asp', mpfSource, FresponseStream); //这里出错 Result := FresponseStream.DataString;
end;
except on E: Exception do
Result := UploadFailed;
end;
finally
mpfSource.Free;
FResponseStream.Free;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货