TidHttpServer接收二进制文件应如何解析?
使用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>