找回密码
 立即注册

QQ登录

只需一步,快速开始

phoben 讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-7-26 20:03  /   查看:3677  /  回复:16
1金币
插件开发中,如何获取数据库中附件存储的文件夹绝对路径?

例如用"可预览附件上传"插件上传的文件,如何在命令型插件开发过程中,获取到这个应用的附件文件夹路径?

16 个回复

正序浏览
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2022-3-31 14:24:06
17#
13794930121 发表于 2022-3-31 09:22
超哥,我有个小问题,想请教下,ilepreviewer控件上传图片,怎么可以把本地绝对路径找出来。放在一个单元 ...

文件操作命令,你值得拥有~
活字格7.0新功能解密:五,服务端命令提升 - 操作文件命令
https://gcdn.grapecity.com.cn/fo ... 8&fromuid=63496
(出处: 葡萄城产品技术社区)
回复 使用道具 举报
13794930121活字格认证
银牌会员   /  发表于:2022-3-31 09:22:47
16#
phoben 发表于 2021-8-4 18:27
好的,谢谢哈,幸苦了

超哥,我有个小问题,想请教下,ilepreviewer控件上传图片,怎么可以把本地绝对路径找出来。放在一个单元格。
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-4 18:43:26
15#
phoben 发表于 2021-8-4 18:27
好的,谢谢哈,幸苦了

没事,大佬客气了
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-4 18:27:09
14#
David.Zhong 发表于 2021-8-4 18:14
大佬,appname的话你尝试下从dataContext.AppBaseUrl中取一下看能取到吗?或者大佬翻一下文档,最近确实 ...

好的,谢谢哈,幸苦了
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-4 18:14:39
13#
phoben 发表于 2021-8-3 20:04
我要C#端的,我做的是服务端命令,处理用户文件格式之类的

大佬,appname的话你尝试下从dataContext.AppBaseUrl中取一下看能取到吗?或者大佬翻一下文档,最近确实忙不过来看代码的问题,我尝试帮你查了一下,暂时只找到这个
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-3 20:04:42
12#
David.Zhong 发表于 2021-8-3 19:06
大佬,你用这个试试看,SpecialPath类 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)

我要C#端的,我做的是服务端命令,处理用户文件格式之类的
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-3 19:06:48
11#
phoben 发表于 2021-8-3 17:26
应用名,能取吗?
能取的话,我拼接个默认路径也可以

大佬,你用这个试试看,SpecialPath类 - 活字格V7帮助手册 - 葡萄城产品文档中心 (grapecity.com.cn)
回复 使用道具 举报
phoben讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-3 17:26:13
10#
David.Zhong 发表于 2021-8-3 17:17
可不兴硬撸代码哈~如果有接口可以实现的话,我肯定给大佬说了;如果有内部接口,我肯定也会提醒大佬谨慎使 ...

应用名,能取吗?
能取的话,我拼接个默认路径也可以
回复 使用道具 举报
David.Zhong讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-8-3 17:17:19
9#
可不兴硬撸代码哈~如果有接口可以实现的话,我肯定给大佬说了;如果有内部接口,我肯定也会提醒大佬谨慎使用的;这段代码中的方法是内部的一个辅助方法,实在无法保证,我都不敢和大佬说~
回复 使用道具 举报
15725821270悬赏达人认证 活字格认证
银牌会员   /  发表于:2021-8-3 11:19:57
8#
本帖最后由 15725821270 于 2021-8-3 11:22 编辑
phoben 发表于 2021-8-3 10:35
C#里面怎么取呢

这个有用吗using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using GrapeCity.Forguncy.Commands;
using GrapeCity.Forguncy.Plugin;
using OperateFilesCommand.Properties;
using ServerDesignerCommon.Services;

namespace OperateFilesCommand
{
   
[OrderWeight(10
   
[Icon("pack://application:,,,/OperateFilesCommand;component/Resources/getFileFromDB.png"
   
public class GetFilesFromDatabase : FileOperateCommandBase, IServerCommandParamGenerator
   
{
        
[FormulaProperty
        
[SearchableProperty
        
[Required
        
[ResourcesDisplayName("GetFilesFromDatabase_FieldValue"
        
public object FieldValue { get; set; }
        
[Required
        
[SearchableProperty
        
[ResourcesDisplayName("DownloadFileCommand_ToParameterName"
        
public string ToParameterName { get; set; }

        
public override ExecuteResult Execute(IServerCommandExecuteContext dataContext)
        
{
            
IServerFileService serverFileService = dataContext.ServiceProvider.GetService(typeof(IServerFileService)) as IServerFileService;
            
object obj = dataContext.EvaluateFormula(this.FieldValue);
            
string text = (obj != null) ? obj.ToString() : null;
            
List<string> value = serverFileService.GetFilesFromAttachmentValue(text).ToList<string>();
            
dataContext.Parameters[this.ToParameterName = value;
            
return new ExecuteResult();
        
}

        
public IEnumerable<GenerateParam> GetGenerateParams()
        
{
            
yield return new GenerateListParam
            
{
               
ParamName = this.ToParameterName
            
};
            
yield break;
        
}

        
public override string ToString()
        
{
            
return Resources.GetFilesFromDatabase_DisplayName;
        
}
   
}
}

评分

参与人数 1金币 +5 收起 理由
David.Zhong + 5 感谢大佬的探索精神,但是要合理使用哟~

查看全部评分

回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部