跳到内容
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
  • 福昕首页
  • 开发中心
  • SDK文档资料
  • 插件商店
申请试用
  • 企业自动化
    • Compressor
  • 福昕CloudAPI
  • 福昕PDF SDK 软件开发工具包
    • 福昕PDF SDK(ActiveX)
    • 福昕PDF SDK(桌面/服务器)
    • 福昕PDF SDK(Plug-in)
    • 福昕 PDF SDK(安卓)
    • 福昕PDF SDK(iOS)
    • 福昕PDF SDK(Web)
  • 福昕管理控制台
    • 公有云
    • 私有云
    • 通用情况
  • 福昕阅读器
    • RMS插件
  • 福昕高级编辑器
    • AI助手
    • Mac版本
      • 常规问题
    • Windows版本
      • ECM集成
      • 互联PDF
      • 企业管理指南
      • 保护
      • 内容编辑
      • 创建PDF
      • 压缩
      • 图章
      • 安装与卸载
      • 常见问题
      • 打印
      • 注释/评论
      • 福昕插件
      • 翻译助手
      • 翻译助手教程
      • 试用与激活
      • 转换
      • 页面管理
    • 教育用户
      • 论文查重
      • 论文畅
      • 操作指南
    • 网页版
      • Foxit eSign
      • 电子签章
    • 订阅
    • 资源
  • 福昕高级编辑器Linux版本
  • 福船图纸管理系统
  • 福昕PDF SDK 软件开发工具包 > 福昕PDF SDK(Web)
  • 标签:
  • fragments配置,getFile接口,上传按钮,按钮样式,文件上传,服务器上传,界面配置

如何在UI界面上新增上传按钮并保存文件到服务器

  • 福昕知识库
  • 2023-07-05

1. 如何在界面中新增“上传至服务器”按钮?

可通过配置 fragments 数组,在指定位置插入自定义上传按钮,核心是通过 target 定位插入位置、template 定义按钮样式,并绑定点击事件处理逻辑。

实现步骤:

  • 配置按钮插入位置:通过 target: "download-file-button" 指定在“下载文件”按钮旁插入,action: UIExtension.UIConsts.FRAGMENT_ACTION.AFTER 表示插入在目标按钮之后;
  • 定义按钮样式:template 中使用 ribbon-button 组件,设置图标(icon-class)、文字(text)和提示信息(tooltip-title);
  • 绑定点击事件:在 config 中为按钮绑定回调函数,实现文件获取与上传逻辑。

2. 新增上传按钮的完整示例代码是什么?

以下是在下载按钮后新增“上传至服务器”按钮的示例代码:

fragments: [
  {
    // 新增上传按钮配置
    target: "download-file-button", // 插入到“下载文件”按钮旁
    action: UIExtension.UIConsts.FRAGMENT_ACTION.AFTER, // 插入在目标按钮之后
    template:
      '<ribbon-button @tooltip tooltip-title="上传至服务器" name="upload-to-server-button" icon-class="fv__icon-toolbar-download" text="上传至服务器"></ribbon-button>',
    config: [
      {
        target: "upload-to-server-button", // 绑定新增按钮
        callback: function () {
          // 8.1.0+版本推荐使用getFile接口获取文件对象
          this.getPDFUI()
            .getPDFViewer()
            .then((pdfViewer) => {
              // 获取当前PDF文档的文件对象,包含文件名等信息
              return pdfViewer.currentPDFDoc.getFile({
                flags: 0,
                fileName: pdfViewer.currentPDFDoc.getFileName(),
              });
            })
            .then((file) => {
              // 处理文件(示例为前端下载,实际可替换为上传至服务器逻辑)
              console.info("文件信息:", file);
              const link = document.createElement("a");
              link.style.display = "none";
              link.href = URL.createObjectURL(file); // 创建文件下载链接
              link.setAttribute("download", file.name); // 指定下载文件名
              document.body.appendChild(link);
              link.click(); // 触发下载
              document.body.removeChild(link);
            });
        },
      },
    ],
  },
]
以上图片是添加按钮后的效果

3. 代码中 getFile 接口的作用是什么?

getFile 是福昕PDF SDK 8.1.0及以上版本提供的接口,用于便捷获取当前PDF文档的文件对象(File 类型),包含文档内容、文件名等信息,相比旧版 getStream 接口更易处理(无需手动转换为文件对象)。

  • 参数说明:flags: 0 表示默认配置,fileName 用于指定文件名称(可从 currentPDFDoc.getFileName() 获取原文件名);
  • 返回值:Promise<File>, resolved 后得到可直接用于上传或下载的文件对象。

4. 如何将文件上传至服务器(而非前端下载)?

示例代码中“前端下载”仅为演示,若需上传至服务器,可在获取 file 对象后替换为上传逻辑,示例如下:

.then((file) => {
  // 替换为服务器上传逻辑
  const formData = new FormData();
  formData.append("pdfFile", file); // 将文件对象添加到表单
  // 调用服务端上传接口
  fetch("/api/upload-pdf", {
    method: "POST",
    body: formData,
  })
    .then((response) => {
      if (response.ok) {
        alert("上传成功");
      } else {
        alert("上传失败");
      }
    })
    .catch((error) => {
      console.error("上传出错:", error);
      alert("网络异常,请重试");
    });
});

5. 按钮样式可以自定义吗?

可以。通过修改 template 中的 ribbon-button 属性自定义样式:

  • 图标:修改 icon-class 更换图标(如使用内置图标 fv__icon-toolbar-upload 或自定义CSS类);
  • 文字:调整 text 属性修改按钮显示文本(如改为“保存到服务器”);
  • 样式:通过添加 class 属性绑定自定义CSS(如 class="custom-upload-btn"),再通过CSS调整颜色、大小等。

相关内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

推荐内容

RDK Android 如何设置单页上下滑动翻页?

PDF转Word时,如何仅处理指定页面?

PDF和OFD如何批量互转?

Bitmap 类如何与其他的图像类互转?

打印管理PrintManager怎么判断文档打印是否完成?

软件如何打开嵌入在office文档中Adobe PDF图标

福昕高级PDF编辑器专业版如何在文档中嵌入一个3D模型

福昕高级PDF编辑器专业版如何实现对图片和文档内容添加马赛克

福昕高级PDF编辑器如何显示注释内容图标

福昕高级PDF编辑器如何添加和调整快速访问工具栏功能

产品
  • 应用行业
  • 白皮书
开发支持
  • 开发中心
  • SDK文档资料

销售咨询:010-50951668

客服电话:0591-38509808

销售咨询
微信公众号

©2026 福建福昕软件开发股份有限公司 版权所有

隐私策略