jasonleeoffice 发表于 2024-11-25 17:09:34

【SpreadJS】在单元格中上传文件问题

本帖最后由 jasonleeoffice 于 2024-11-25 17:10 编辑

在单元格中上传文件,有选择文件后触发的方法吗? 我想把文件存到服务器上,在单元格中只保存个地址显示就行,不然表格文件太大了

Wilson.Zhang 发表于 2024-11-25 17:09:35

jasonleeoffice 发表于 2024-11-25 18:00
需要先上传,上传以后再显示到对应单元格
我的意思是想在表格的上传文件功能上来上传文件,上传的时候把 ...

原生的FileUpload单元格类型不支持,您可以尝试下基于FileUplaod自定义单元格类型实现。根据您的描述,自定义单元格类型实现时可能要配置传输文件的服务器接口,完成文件上传至服务器的功能,在单元格中回显并保存文件存储路径。大致思路如上所述,您可以参考官网教程自定义实现:
自定义单元格--https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-types/custom/purejs
FileUpload--https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-types/file-upload/purejs

Wilson.Zhang 发表于 2024-11-25 17:40:15

您好!考虑下在单元格中设置能够访问到文件的URL,通过超链接或者网络访问获取实际文件。

jasonleeoffice 发表于 2024-11-25 18:00:42

本帖最后由 jasonleeoffice 于 2024-11-25 18:05 编辑

Wilson.Zhang 发表于 2024-11-25 17:40
您好!考虑下在单元格中设置能够访问到文件的URL,通过超链接或者网络访问获取实际文件。
需要先上传,上传以后再显示到对应单元格
我的意思是想在表格的上传文件功能上来上传文件,上传的时候把文件存到服务器上,然后回显到对应表格上!目前上传以后直接显示到表格上了,这样的话,我保存这个表格文件会非常的大,看看有没有其他方法来实现这个功能

jasonleeoffice 发表于 2024-11-26 10:49:06

Wilson.Zhang 发表于 2024-11-26 10:37
原生的FileUpload单元格类型不支持,您可以尝试下基于FileUplaod自定义单元格类型实现。根据您的描述,自 ...

好的,那我就用这种方式来做吧

jasonleeoffice 发表于 2024-11-26 11:04:58

Wilson.Zhang 发表于 2024-11-26 10:37
原生的FileUpload单元格类型不支持,您可以尝试下基于FileUplaod自定义单元格类型实现。根据您的描述,自 ...

自定义单元格,如果是FileUpload类型, 选择完文件,触发的应该是哪个方法?

Wilson.Zhang 发表于 2024-11-26 17:33:05

jasonleeoffice 发表于 2024-11-26 11:04
自定义单元格,如果是FileUpload类型, 选择完文件,触发的应该是哪个方法?

我测试了下,FileUpload单元格将上传文件保存为了base64字符串。对于您的需求,建议不使用FileUplaod单元格,也不基于FileUpload单元格类型扩展,完全自定义单元格类型实现。

jasonleeoffice 发表于 2024-11-26 17:41:41

Wilson.Zhang 发表于 2024-11-26 17:33
我测试了下,FileUpload单元格将上传文件保存为了base64字符串。对于您的需求,建议不使用FileUplaod单元 ...

无论什么类型,选择文件后,触发哪个事件,我现在不知道,或者可以提供一个例子吗

Wilson.Zhang 发表于 2024-11-27 12:20:01

jasonleeoffice 发表于 2024-11-26 17:41
无论什么类型,选择文件后,触发哪个事件,我现在不知道,或者可以提供一个例子吗

可以参考咱们官网的教程,您可能需要重写以下方法:

1. paint()方法,在单元格中显示其外形,由您自定义,可以参考内置FileUpload单元格类型的外形。
2. createEditorElement()方法,这个方法用于创建编辑器,在您的场景中可能需要一个选择文件的input元素。
3. 以input元素为例,需要在createEditorElement()方法内获取上传文件file,而后可以封装一个上传文件至服务器的方法,通过该方法完成文件上传并返回文件的存储路径或其他表征文件的名称并将其回显在单元格内。

以上方案供您参考,请您参考官网教程理解自定义单元格及上述方案:
https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-types/custom/purejs

jasonleeoffice 发表于 2024-11-27 14:47:49

Wilson.Zhang 发表于 2024-11-27 12:20
可以参考咱们官网的教程,您可能需要重写以下方法:

1. paint()方法,在单元格中显示其外形,由您自定 ...

好的,我抽时间试一下
页: [1] 2
查看完整版本: 【SpreadJS】在单元格中上传文件问题