.Net 平台应用与技巧
MRZ图表分组数据源过滤设计示例
平台应用类
OrBit平台Job配置
【序列号规则】插件使用说明
工单自定义流程节点应用说明
平台 【SVN 版本管理】工具使用说明
平台SPC应用介绍
平台WebAPI文件上传、下载(OrBitWebAPI2)
平台【元对象授权】功能使用说明
平台【分级授权】功能使用说明
平台【消息对象】使用说明
平台【表单消息升级】应用说明
平台可配置【 Excel 文件导出】功能使用说明
按产品定义采集功能使用说明
用户自定义编码及系统单据状态、单据类型的颜色配置
系统中如何增加用户密码过期更换提醒
通用在线打印功能使用说明
平台技巧类
MS-SQL 添加并引用 DLL 程序集
OrBit “自定义对话框”使用说明
Matrix标签打印(OrBitMESHelp/OrBitMetaHelp)
MES事务对象Scripter--扩展方法
MES事务帮助类OrBitMESHelp
WebView2管理类--用于展示看板
元对象Scripter--扩展方法
元对象帮助类OrBitMetaHelp
外挂Exc程序(发布为平台插件)---调用自定义对话框
自定义对话框--Xml/Json数据解析神器
OrBit-KanBan File 类型应用说明
OrBit-X 如何支持 Https 协议
OrBit-X 平台 Bartender 标签模板制作说明
OrBit-X 平台元对象多文件上传、预览
OrBit-X 平台内置 WebAPI 使用说明
OrBit-X 应用打包-扩展工具-快捷迁移
OrBit平台“调用摄像头拍照、录制视频,并上传FTP”窗体控件的应用
元对象可配置Excel导入功能应用说明
元对象嵌入看板
基于 Json 数据格式的 Mrt 模板设计说明
如何利用 Bartender 标签模板实现一拖几打印
平台 Excel 对象导入功能应用说明
平台 MES 事务对象实现网格多选效果
平台 WebAPI 应用说明
平台中 Mrz 模板实现钻取功能
平台发布接口(OrBitWebAPI&OrBitWebAPI2)
平台通过 CLR 实现企业微信消息及文件自动推送
标签/报表实现只预览不打印
通过平台 Web 服务实现远端 Wifi 打印说明
静态事务“平铺按钮”控件的应用
静态事务”调用摄像头扫码识别条码(条形码/二维码)“功能的应用与实现
钉钉机器人接口实现及其他API扩展
-
+
首页
平台WebAPI文件上传、下载(OrBitWebAPI2)
# 1、概述 为支持WebUI上传、下载文件,在原有OrBitWebAPI2接口的基础上新增文件上传、下载接口,详细说明如下: WCF更新包(其中,dll文件放到WCF的bin目录下) [【附件】UploadApi.rar](/media/attachment/2024/07/UploadApi.rar) # 2、步骤 2.1 获取加密票(支持GET、POST)。可选(WCF可配置关闭,建议开启) 2.2 上传文件(只支持POST,form-data方式) 2.3 下载文件 # 3、OrBitWebAPI2 ### 3.1 获取加密票 与OrBitWebAPI2完全一致 ![](/media//202311/2023-11-20_113651.png) ### 3.2 上传文件 LoadFile 参数值为 upload,标识下载文件(只支持POST,form-data方式) ![](/media//202311/2023-11-20_114937.png) 【客户端调用】示例 ```csharp var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("http://121.37.203.18/OrBitWCFMOM_Dev_R16/OrBitWebAPI2.ashx"), Content = new MultipartFormDataContent { new StringContent("JSON") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "OutType", } } }, new StringContent("UPLOAD") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "LoadFile", } } }, new StringContent("") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "API", } } }, new StringContent("{\n\"userName\": \"HG0064\",\n\"pluginName\": \"FTP15\",\n\"objPKId\": \"\"\n}") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "UserParameter", } } }, new StringContent("34A28908009144C9AAD3314C98106B7C84C59D6CD1EE57D7F16822401A999DFB20ED70E5D8B8080DAA3C877E53AEE40D50EECEEA7F9B11AAF80FA3C2D3E8FF6D1E8CE16901E79E03B111FD39331551B5B4862C97756078A1D3917DF98B54807E") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "UserTicket", } } }, new StringContent(["E:\\image\\response.txt","E:\\image\\test1.png","E:\\image\\test2.png","E:\\image\\test3.png","E:\\image\\test4.png","E:\\image\\test5.png","E:\\image\\test6.png"]) { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "Files", FileName = "E:\image\response.txt,E:\image\test1.png,E:\image\test2.png,E:\image\test3.png,E:\image\test4.png,E:\image\test5.png,E:\image\test6.png", } } }, }, }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); } ``` ### 3.3 下载文件 LoadFile 参数值为 download,标识下载文件 ![](/media//202311/2023-11-20_114658.png) 【客户端调用】示例 ```csharp var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("http://121.37.203.18/OrBitWCFMOM_Dev_R16/OrBitWebAPI2.ashx"), Content = new MultipartFormDataContent { new StringContent("JSON") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "OutType", } } }, new StringContent("download") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "LoadFile", } } }, new StringContent(" {\"ftpFileId\": \"FTP1000002M5\"}") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "UserParameter", } } }, new StringContent("34A28908009144C9BD58F90CDAE946EC8572DD9E087E58864272C8BCD8E381F6C8B22A47040B41B0E48709F619ECE2218C025B89594529F2299BE740BE9017EAE1EEA2D0E01F8ECBA741BDC0E8644148EE658743C2249531E2E2A6A62FC470E1") { Headers = { ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "UserTicket", } } }, }, }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); } ``` # 4、内置接口 4.1 WebAPI_GetFtpSetting 获取FTP参数配置 ```sql EXEC dbo.WebAPI_GetFtpSetting @OrBitUserName = N'' -- nvarchar(100) , @ResourceName = N'' -- nvarchar(100) , @UserParameter = N'{"pluginName": "FTP15"}' -- nvarchar(max) , @UserData = N'' -- nvarchar(max) ``` 4.2 WebAPI_FtpUpload 保存文件上传记录 ```sql EXEC dbo.WebAPI_FtpUpload @OrBitUserName = N'' -- nvarchar(100) , @ResourceName = N'' -- nvarchar(100) , @UserParameter = N' { "SQLDataSet": [ { "FtpFileName": "FtpFileName", "FtpDirectory": "FtpDirectory", "FtpFileDescription": "FtpFileDescription", "FtpFileSize": "FtpFileSize", "PluginCommand": "PluginCommand", "UploadUser": "UploadUser", "UploadComputer": "UploadComputer", "PKId": "PKId" } ] } ' -- nvarchar(max) , @UserData = N'' -- nvarchar(max) ``` 4.3 GetFtpFileByFtpId 获取FTP文件信息 ```sql EXEC dbo.WebAPI_GetFtpFileByFtpId @OrBitUserName = N'' -- nvarchar(100) , @ResourceName = N'' -- nvarchar(100) , @UserParameter = N'{"ftpFileId": "FTP1000002NH"}' -- nvarchar(max) , @UserData = N'' -- nvarchar(max) ``` ![](/media//202311/2023-11-28_111453.png)
文件上传、下载
HG0064
2024年7月5日 17:39
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件