超链接打开/下载一个文件(Acumatica)
问题描述:
有什么办法让一个文件的超链接打开它的内容或从它所属的表中下载它? (从某种意义上说,做同样的事情AllowEdit但打开/下载文件,而不是。)例:超链接打开/下载一个文件(Acumatica)
其中默认的规范文件是从客户找到的文件:
请注意显示的是文件的评论。如果任何人有任何建议,而不是如何显示文件名,这将不胜感激。
答
你可以得到的文件名是这样的:
foreach (Guid note in PXNoteAttribute.GetFileNotes(cache, dacRecord))
{
FileInfo file = fileMaintenance.GetFileWithNoData(note);
PXTrace.WriteInformation(file.Name);
}
要下载的文件,创建字符串类型的DAC领域。您可以将字符串初始化为FieldDefaulting或FieldSelecting事件中的文件名。声明一个Action并使用ASPX文件中的LinkCommand属性使该字段控制成为一个链接。
在该诉讼事件处理程序,可以将浏览器重定向到文件以下载/打开:
Guid[] notes = PXNoteAttribute.GetFileNotes(cache, dacRecord);
if (notes != null && notes.Length > 0)
{
FileInfo downloadFile = fileMaint.GetFile(notes[0]);
if (downloadFile != null)
{
throw new PXRedirectToFileException(downloadFile.UID, true);
}
}
感谢HB,我会在一两天内给这一个尝试,让你知道如何它走了。 –
如果您需要设置LinkCommand和Link事件处理程序的帮助,可以参考此答案:https://stackoverflow.com/questions/26387291/how-to-create-a-hyperlink-user-field –
HB,其中我会放置foreach语句以及dacRecord包含哪些内容?我的意思是说,dacRecord是由UploadFileRevision或其他表格定义的,还是其他所有表格? –