TidHttpServer接收二进制文件应如何解析?

xabcxyz 2018-08-14 10:53:03
使用indy10的TidHttpServer控件自制web 文件服务器, 可以下载确无法实现上传功能, 接收到数据后不会解析, 拜托哪位提示一二,万分感谢!!

源码片段:
Var
mm: array of Byte;
k: Integer;
...
begin
...
if ARequestInfo.PostStream=nil then begin
AResponseInfo.ContentText := UTF8Encode('上传文件失败!');
AResponseInfo.ContentType :='text/html';
AResponseInfo.ContentEncoding := 'UTF-8';
AResponseInfo.CharSet := 'UTF-8';
end else begin
ARequestInfo.PostStream.Position := 0;
// 如何判断文本和二进制的不同格式? 完全没有思路, 暂时先假装是二进制吧
setlength(mm, ARequestInfo.PostStream.size+4);
k := ARequestInfo.PostStream.ReadData(mm, ARequestInfo.PostStream.size);
//???????????????????????????????????????
//size 有长度 读到mm中有内容 全是乱码 然后不知道该如何处理了!!!!!!!!!!!!!!!!!!!!!!!!
// 拜托大家了......
end...
end;


网页端html上传语句:
<form action="/upload.asp?path=/upload" method="post" accept-charset="UTF-8" enctype="multipart/form-data"><input type="file" size="60" name="fileUpload" /><input type="submit" value="上传文件" /></form>
...全文
401 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ysai 2018-09-05
  • 打赏
  • 举报
回复
form post肯定是指定了地址的了,你这是/upload.asp
服务端只要判断ARequestInfo.URI是接受文件的URI,就可以直接ARequestInfo.PostStream.SaveToFile 了

1,593

社区成员

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

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