一.文件上传TUniFileUploadButton
TUniFileUploadButton主要属性:
Filter: 文件类型过滤,有图片image/* audio/* video/*三种过滤
MaxAllowedSize: 设置文件最大上传尺寸;
Message:标题以及消息文本,可翻译成中文
TUniFileUploadButton控件 支持多文件批量上传!
procedure TMainForm.UniFileUploadButton1Completed(Sender: TObject; AStream: TFileStream); var i:integer; begin UniFileUploadButton1.MultipleFiles:=True;//多选 模式 UniFileUploadButton1.MaxFiles:=4; //最大文件数 for I := 0 to UniFileUploadButton1.MaxFiles-1 do begin caption:= UniFileUploadButton1.Files[i].FileName ; end; end;
如果文件数超过MaxFiles
事件:OnCompleted(Sender: TObject; AStream: TFileStream)
procedure TMainForm.UniFileUploadButton1Completed(Sender: TObject; AStream: TFileStream); var DestName : string; DestFolder : string; begin //将 文件 加载到 UniImage1里 UniImage1.Picture.LoadFromFile(AStream.FileName); Caption:='File Name: '+UniFileUploadButton1.FileName; //将 文件 保存到UploadFolder文件夹,先要创建这个UploadFolder文件夹 DestFolder:=UniServerModule.StartPath+'UploadFolder\'; //要在与exe同下新建一个UploadFolder文件夹 DestName:=DestFolder+ExtractFileName(UniFileUploadButton1.FileName); CopyFile(PChar(AStream.FileName), PChar(DestName), False); ShowMessage('File: '+UniFileUploadButton1.FileName+' Uploaded to folder: '+DestFolder); end;
2文件下载
1]SendFile
2]SendStream
3]自定义类型文件**
UniSession.SendFile('新建文本文档.txt' //服务器端 文件名 ,'anew.txt' //客户端 新下载 的文件名 );
procedure TMainForm.UniButton3Click(Sender: TObject); var S : TStringStream; begin S:=TStringStream.Create('Some text here....'); try UniSession.SendStream(S, 'Mydoc.txt'); finally S.Free; end; end;
UniSession.SendFile(ServerModule.UniServerModule.FilesFolderPath+'aaa.abc');
web默认文档主目录在执行程序同级目录下的files子目录下,该属性可以在ServerModule的FilesFolder属性中配置。
对于常见的文档类型,浏览器默认支持,对于如abc扩展名的特殊类文档,点击后浏览器会没有动作,你需要配置一下MIME表。
在ServerModule的OnCreate属性中添加:
MimeTable.AddMimeType("abc","abc");