是否可以从HP TRIM复制记录/文档的URL并将其发送给某人以便下载?从HP TRIM的桌面客户端获取记录的URL
1
A
回答
1
有几种方法可以做这样的事情。假设您将链接发送给同一WAN上的某个人,或者让TRIM系统互联网可访问的安全风险选项,我要做的就是在TRIM SDK的顶部构建一个简单的Web服务。 TRIM SDK是COM(带有PIA包装器)或适当的.Net程序集(在版本7 *中),所以一个简单的ASP.Net服务将非常容易。
下面是基于HP提供的代码示例(基于TRIMSDKPIA20.dll,而不是TRIM 7.0 HP.HPTRIM.SDK程序集)构建的ASP.Net服务的代码。你可以使用它作为一个基础,使更多的东西REST风格的,但因为它是,你会使用URL喜欢叫它: http://server/ViewRecord/recno=D11-001
然后,您可以创建一个“外部链接”,一个插件在基于再次您可以在TRIM界面中注册为右键单击选项的SDK。就像“发送下载URL ...”一样,它会启动电子邮件并生成URL,但这有点复杂。
无论如何,对于web服务的代码:
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TRIMSDK;
using System.Configuration;
using Microsoft.Win32;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string errormsg = string.Empty;
//Response.Clear();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Database trim = new Database();
trim.SetAsWebService();
trim.Id = ConfigurationSettings.AppSettings["dbid"];
trim.WorkgroupServerName = ConfigurationSettings.AppSettings["wgserver"];
trim.WorkgroupServerPort = Int32.Parse(ConfigurationSettings.AppSettings["wgport"]);
trim.Connect();
string recno = Request.QueryString["recno"];
if (String.IsNullOrEmpty(recno))
{
errormsg = "No recno parameter was passed.";
}
else
{
Record rec = trim.GetRecord(recno);
if (rec == null)
{
errormsg = string.Format("Could not find a record with number \"{0}\". Either it doesn't exist, or you don't have permission to view it.", recno);
}
else
{
if (!rec.IsElectronic)
{
errormsg = string.Format("Record {0} does not have an electronic attachment", rec.Number);
}
else
{
IStream s = rec.GetDocumentStream(null, false, null);
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "filename=" + rec.SuggestedFileName);
Response.AddHeader("Content-Length", rec.DocumentSize.ToString());
Response.Buffer = false;
Response.ContentType = GetContentType(rec.Extension);
uint BufferSize = 10000;
uint DocumentLength = (uint)rec.DocumentSize;
byte[] buffer = new byte[BufferSize];
uint bytesread;
uint totalread = 0;
Stream outstream = Response.OutputStream;
while (totalread < DocumentLength)
{
s.RemoteRead(out buffer[0], 10000, out bytesread);
if (bytesread < 10000)
{
for (uint i = 0; i < bytesread; i++)
{
outstream.WriteByte(buffer[i]);
}
}
else
{
outstream.Write(buffer, 0, 10000);
}
totalread += bytesread;
}
outstream.Close();
Response.Flush();
return;
}
}
}
Response.Write(errormsg);
}
private string GetContentType(string fileExtension)
{
string ct = Registry.GetValue(@"HKEY_CLASSES_ROOT\." + fileExtension.ToLower(), "Content Type", string.Empty) as string;
if (ct.Length == 0)
{
ct = "application/octet-stream";
}
return ct;
}
}
3
TRIM 7之前,你是否能做到这一点本身取决于其TRIM功能安装。 要查看您是否拥有正确的东西,请在桌面上创建一个TR5文件,然后右键单击它 - “TryURL” - 复制URL (TryURL右键单击操作需要TRIM客户端的东西 - 如果您没有,尝试在记事本中打开TR5文件,并查看是否有超链接)。
你得到与TRIM(TIPS或TSCI)
或者是有便宜的第三方产品,看起来很酷的SharePoint连接这个功能 - 从Icognition私人有限公司
相关问题
- 1. ColdFusion获取客户端URL
- 2. 从WCF获取客户端URL
- 3. 关于桌面客户端
- 4. 如何获取客户端的url
- 5. 在客户端获取JQuery Jtable中的所有记录
- 6. 如何从WCF服务获取客户端的URL?
- 7. 远程桌面Web客户端
- 8. HTTP发布的multipart/form-data的从桌面客户端
- 9. 非Windows OLAP桌面客户端?
- 10. 最佳bugzilla桌面客户端
- 11. Jena桌面SPARQL客户端(TDB)?
- 12. 登录时获取客户端IP
- 13. 如何从客户端记录完整的原始WCF客户端请求?
- 14. 远程桌面客户端与平移大型桌面?
- 15. 使用PHP web后端的.NET桌面客户端的建议?
- 16. 从Sharepoint客户端获取weburl客户端对象模型
- 17. 从IdentityServer3登录页面中的客户端获取重定向链接
- 18. GWT客户端的记录器
- 19. 使用HTTP客户端的Java 4.5客户端获取语句
- 20. 如何从传统ASP请求获取* actual *客户端URL?
- 21. 如何从ServiceStack Service基类获取客户端调用URL?
- 22. Sharepoint 2010客户端对象模型从Url获取列表项
- 23. 无法限制的记录数要获取客户端的火力的Android
- 24. 记录时间在客户端与客户端时区
- 25. 获取远程客户端
- 26. CollectionFS从客户端获取网址
- 27. boto3从客户端获取资源
- 28. 从单个客户端获取System.ServiceModel.CommunicationObjectAbortedException
- 29. 在linq中获取基于客户端的用户登录名?
- 30. 获取点击事件的目标URL - 客户端