1
我是新來的C1,我正在開發一個簡單的站點,現在我需要添加文檔頁面,其中列出了一堆PDF文件和文檔視圖頁面在Issuu播放器中顯示PDF。如何在複合C1中創建文檔上傳和文檔列表頁面
首先,我會問的第1部分:
a)如何上傳PDF文檔?我的意思是如何創建一個上傳PDF頁面,其中一個包含文件上傳框和說明框,如果它與後端界面隔離,將會很好。
b)如何創建文檔頁面哪一個動態列出上傳的PDF文檔?
我是新來的C1,我正在開發一個簡單的站點,現在我需要添加文檔頁面,其中列出了一堆PDF文件和文檔視圖頁面在Issuu播放器中顯示PDF。如何在複合C1中創建文檔上傳和文檔列表頁面
首先,我會問的第1部分:
a)如何上傳PDF文檔?我的意思是如何創建一個上傳PDF頁面,其中一個包含文件上傳框和說明框,如果它與後端界面隔離,將會很好。
b)如何創建文檔頁面哪一個動態列出上傳的PDF文檔?
1)F.e.您有媒體文件夾路徑在這裏你將存儲的PDF文件,例如「/上傳/ PDF文檔」
下面是一個示例代碼如何上傳HttpPostedFile到C1媒體歸檔:
public static void UploadFileToMediaArchive(HttpPostedFile file, string mediaFolderPath)
{
try
{
WorkflowMediaFile mediaFile = new WorkflowMediaFile();
mediaFile.FileName = file.FileName;
mediaFile.FolderPath = mediaFolderPath;
mediaFile.Title = "";
mediaFile.Description = "";
mediaFile.Culture = Thread.CurrentThread.CurrentCulture.Name;
mediaFile.Length = file.ContentLength;
mediaFile.MimeType = MimeTypeInfo.GetCanonical(file.ContentType);
if (mediaFile.MimeType == MimeTypeInfo.Default)
{
mediaFile.MimeType = MimeTypeInfo.GetCanonicalFromExtension(System.IO.Path.GetExtension(mediaFile.FileName));
}
using (System.IO.Stream readStream = file.InputStream)
{
using (System.IO.Stream writeStream = mediaFile.GetNewWriteStream())
{
readStream.CopyTo(writeStream);
}
}
IMediaFile addedFile = DataFacade.AddNew<IMediaFile>(mediaFile);
}
catch (Exception ex)
{
Composite.Core.Log.LogError("UploadFileToMediaArchive", ex.Message);
}
}
2)要在頁面上顯示PDF文件,您可以創建一個簡單的XSLT函數,然後使用「以數據爲中心」的函數調用「GetIMediaFileXml」並使用MediaFolderFilter過濾器。下面是「GetIMediaFileXml」函數調用的源代碼:
<f:function name="Composite.Data.Types.IMediaFile.GetIMediaFileXml" localname="GetIMediaFileXml">
<f:param name="PropertyNames">
<f:paramelement value="KeyPath" />
<f:paramelement value="CompositePath" />
</f:param>
<f:param name="Filter">
<f:function name="Composite.Data.Types.IMediaFile.MediaFolderFilter">
<f:param name="MediaFolder" value="MediaArchive:7dce5da6-ae73-417a-86a3-dfb7a3f05cf3" />
</f:function>
</f:param>
</f:function>