PLM 文档上传说明(Http上传物理文档部分)原创
金蝶云社区-Thilifala
Thilifala
19人赞赏了该文章 3,248次浏览 未经作者许可,禁止转载编辑于2023年12月11日 14:35:26
summary-icon摘要由AI智能服务提供

PLM文档上传分为数据库数据录入和物理文件上传至电子仓两步。电子仓根据FFILEID首字母确定存储位置,文件名包含Data、FFILEID和.PDM.pure后缀。Http上传接口提供文件流上传,支持断点续传,上传后生成压缩副本。上传接口需指定编码、文件ID、文件名等参数,并可选择是否压缩、是否仅放缓存区。大文档上传需调整电子仓配置,且2023年11月后补丁增强了安全性。

PLM 文档上传主要分两步操作:

一是录入数据库数据:PLM 文档上传说明(数据库处理部分) (kingdee.com)

二是上传物理文件到电子仓(文档服务器)(此贴)


  • 电子仓说明

物理文件在电子仓的存储位置是根据 FFILEID  的首字母来的。

例如 FFILEID 为 e782f464-c5fe-4d08-83b6-193e3fc3ab24 则将物理文件放到 电子仓路径的E文件夹下,并将物理文件命名为 Data+FFILEID+.PDM.pure 例如:Datae782f464-c5fe-4d08-83b6-193e3fc3ab24.PDM.pure


ccc.png

ddd.png



关于pure

1、有pure后缀是指没经过压缩加密的文件,通过PLM系统上传的都是经过压缩加密的。

2、通过http接口上传的客户端不使用压缩加密,上传到电子仓后才会进行压缩生成一份压缩的副本。因此http上传后会看到两份文档,一份有pure后缀一份没有。




  • Http上传物理文件流

接口简介

将文件流上传到电子仓(文件服务器)

接口详情

请求地址

http://{物理文档服务器地址}/Upload,

如 http://localhost/CloudPLMWarehouse/Upload

 

请求类型

POST

请求头

参数

必填

编码

说明

CTX

Y

base64

FTP上下文,格式:LoginUrl=http://{星空站点URL}/&UserToken={凭证}&LoginType=1

token

Y


凭证,GUID格式

FileID

Y

base64

文件ID

FileNameYbase64文件名

TempFileName

Y

base64

电子仓缓存区临时文件名

FileHash

Y

base64

文档hash值,用来校验电子仓文档的hash值是否跟当前hash值一致,一致则表示上传完毕

TotalLength

Y

base64

要传输的字节数

OffsetNbase64偏移值,即文件中的位置,将从该位置开始将内容写入到 HTTP 输出中。为空时即从头开始。(断点续传使用)

PLM_ACCESS_TYPE

Y

值为“pure”时获取不压缩的文档,否则默认获取压缩的文档的流

PLM_TRANSFER_MODEY值为 “1”,一定要此参数,传输以非压缩方式传输,否则上传的文档无法从PLM系统中下载
OnlyCacheNbase64是否只放到缓存区

 

Postman示例:

eee.png


返回参数说明

异常:返回错误信息,格式为 “[Base64]{base64编码的内容}[/Base64]”(在 HttpResponse.StatusDescription 中)


  • 大文档上传可根据需要修改电子仓(文件服务器)的web.config

image.png


附件为简单的代码DEMO(只作示例参考,请根据实际需求自行改造开发)


PS:2023年11月后的补丁添加了安全相关的内容,部分demo需要按照以下帖子做出修改:

     PLM 文档上传说明(Http上传物理文档部分)【2023年11月补丁版本】 (kingdee.com)



赞 19