unigui上传图片并将文件名保存到Access数据库

 1、拖一个upload组件。

2、执行execute函数。

  unflpld_Up.Execute;

3、当上传完成事件触发。 

procedure TUniFrmMainWin.unflpld_UpCompleted(Sender: TObject;
  AStream: TFileStream);
var
  DestName    : string;    //目标文件
  DestFolder  : string;    //文件保存的路径

  sResName    : String;    //真实保存在服务器上的文件名(ResName,不能有中文),
  sTitleName  : string;   //仅用于在Grid中显示用的标签名TitleName(允许中文)

  lJump       : boolean;  //存在则跳过

  lResult     : boolean;

  sExt        : string;   //文件扩展名,文件类型
begin
  //处理上传完成后的事件

  //文件的扩展名
  sExt := LowerCase(ExtractFileExt(unflpld_Up.FileName));
  //文件名
  sTitleName := ExtractFileName(unflpld_Up.FileName);

  //文件保存的路径
  DestFolder:=UniServerModule.FilesFolderPath + UniMainModule.UserName + '\';
  //创建文件目录
  CreateDir(DestFolder);

  //将文件名另存为日期时间命名的文件。
  sResName := FormatDateTime('yyyyMMddhhmmsszzz', now) + sExt;
  DestName:=DestFolder + sResName;

  //将文件保存到指定目录下
  lResult := CopyFile(PChar(AStream.FileName), PChar(DestName), lJump);

  if lResult then
  begin
    //文件保存成功,写入数据库
    UniMainModule.adot_File.Active := False;
    UniMainModule.adot_File.Active := True;

    UniMainModule.adot_File.Append;
    UniMainModule.adot_File.FieldByName('FTitleName').AsString := sTitleName;
    UniMainModule.adot_File.FieldByName('FResName').AsString := sResName;
    UniMainModule.adot_File.FieldByName('FSize').AsString := IntToStr(AStream.Size);
    UniMainModule.adot_File.FieldByName('FDate').AsString := FormatDatetime('yyyy-MM-dd hh:mm:ss', now);;
    UniMainModule.adot_File.FieldByName('FOwner').AsString := uniMainModule.UserName;
    UniMainModule.adot_File.Post;

    //刷新个人文件显示
    adoq_UserFiles.Active := False;
    adoq_UserFiles.Active := True;
  end
  else begin
    MessageDlg('上传没有成功', mtError, [mbOK]);
  end;
end;

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值