idhttp调用asp上传文件提示500 internal server error

jjpweb 2009-08-24 11:25:43
html
<html>
<body>
<center>
<form name="FORM" action="upload.asp" method="post">
<input type="submit" name="submit" value="OK">
<input type="file" name="file1" style="width:400" value="">
</form>

</center>
</body>
</html>
upload.asp
<%
Function GetFileName(ByVal strFile)
If strFile <> "" Then
GetFileName = mid(strFile,InStrRev(strFile, "\")+1)
response.write (GetFileName)
Else
GetFileName = ""
End If
End function

strFileName = Request.Form("file1")
Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Type = 1 ' adTypeBinary
objStream.Open
objStream.LoadFromFile strFileName
objStream.SaveToFile Server.MapPath(GetFileName(strFileName)),2
objStream.Close
%>

button click

procedure TForm1.btn1Click(Sender: TObject);
var

PostStream: TIdMultiPartFormDataStream;
ResponseStream: TStringStream;
sURL,sFilename: string;
begin
if dlgopen1.Execute then
sFilename:=dlgopen1.FileName;
showmessage(sFilename);
sURL:= 'http://192.168.16.7/upload.asp';



PostStream:= TIdMultiPartFormDataStream.Create;
ResponseStream := TStringStream.Create('');

try
{ PostStream.AddFormField('usr', AValues.Values['usr']);//等同于html中的<input type="text" value="">
PostStream.AddFormField('grp', AValues.Values['grp']); }
// showmessage(GetMIMETypeFromFile(sfilename));
poststream.AddFormField('file1',sfilename );
PostStream.AddFile('file1',sfilename,GetMIMETypeFromFile(sfilename));//类似html中的<input type="file" value="">
IdHTTP1.Request.ContentType := PostStream.RequestContentType;
IdHTTP1.Post(sURL, PostStream,ResponseStream);
finally
mmo1.Lines.Append(ResponseStream.DataString) ;
ResponseStream.Free;
PostStream.Free;

end;
end;
...全文
170 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuihan20e 2009-08-24
  • 打赏
  • 举报
回复
将友情提示去掉,看有啥提示
haitao 2009-08-24
  • 打赏
  • 举报
回复
500是web服务器上的应用服务程序出错了
jjpweb 2009-08-24
  • 打赏
  • 举报
回复
啥也不说了。
procedure TForm1.btn1Click(Sender: TObject);
var
Avalues:Tidstringlist;
sURL,sFilename: string;
begin
if dlgopen1.Execute then
sFilename:=dlgopen1.FileName;
AValues := TStringList.Create;

sURL:='http://localhost/upload.asp';
AValues.Values['file1'] := sFilename;
try

IdHTTP1.Post(sURL, AValues);
finally
AValues.Free;
end;
end;

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧