TUniFileUploadButton主要属性:
Filter: 文件类型过滤,有图片image/* audio/* video/*三种过滤 *.jpg;*.bmp
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:='UploadFolder\'; //要在与exe同下新建一个UploadFolder文件夹 DestName:=DestFolder+ExtractFileName(UniFileUploadButton1.FileName); CopyFile(PChar(AStream.FileName), PChar(DestName), False); ShowMessage('File: '+UniFileUploadButton1.FileName+' Uploaded to folder: '+DestFolder); end;
更多代码https://blog.csdn.net/dlboy2018/article/details/105284722
procedure TMainForm.UniFileUpload1Completed(Sender: TObject; AStream: TFileStream); begin // 上传图片 var DestFolder: string := UniServerModule.StartPath + 'UploadFolder\'; var aFile: string := Format('%d_%d_%d_%d', [YearOf(Now), MonthOf(Now), DayOf(Now), GetTickCount64]); var DestName: string := DestFolder + aFile + ExtractFileName(UniFileUpload1.FileName); CopyFile(PChar(AStream.FileName), PChar(DestName), False); var AHtml: string := '/UploadFolder/' + aFile + ExtractFileName(UniFileUpload1.FileName); var js: string := 'insertHtml("img","' + AHtml + '","' + ExtractFileName(UniFileUpload1.FileName) + '");'; UniSession.AddJS(js); end;
uniFileUpload1窗口Width
uniFileUpload1窗口Height设置,应该在uniFileUpload.pas里面修改
function TUniFileUpload._Execute(Blocking: Boolean): Boolean; var FButton : TUniButton; FCButton : TUniButton; FMemo : TUniMemo; FJSFileUpload : TJSControl; FUploadForm: TUniForm; N : Integer; S : string; begin AdjustServerParams; Canceled := False; FUploadForm := TUniForm.Create(UniApplication); FUploadForm.Position := poScreenCenter; FUploadForm.Width := FWidth; if FButtonOnly then FUploadForm.Height := 75 + UniSession.CurrentTheme.BandHeight else FUploadForm.Height := 104 + UniSession.CurrentTheme.BandHeight;
总是说我字少! 总是说我字少!总是说我字少! 总是说我字少!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律