MemoryStream に作成される iTextSharp PDF ファイルを作成しました。しかし、このファイルを Kentico メディア ライブラリに渡す必要があります。
誰かがこれを行う方法を示していただければ幸いです。私が現在持っているコードは次のとおりです。
//Media Library Info - takes Media Library Name and Website Name
MediaLibraryInfo libraryInfo = MediaLibraryInfoProvider.GetMediaLibraryInfo("MyLibrary", CMSContext.CurrentSiteName);
//Folder in Media Library where Item will be Inserted
string mediaLibraryFolder = folder;
//create media file info item - takes the relative path to the document, the library ID, and the folder name where the document will be located within the media library
MediaFileInfo fileInfo = new MediaFileInfo();
fileInfo.FileLibraryID = libraryInfo.LibraryID;
fileInfo.FileBinaryStream = file;
fileInfo.FileName = title.Replace(" ", "").Trim();
fileInfo.FileTitle = title;
fileInfo.FileDescription = description;
fileInfo.FileExtension = ".pdf";
fileInfo.FileMimeType = "application/pdf";
fileInfo.FilePath = String.Concat("/", folder, "/", title.Replace(" ", "").Trim(), ".pdf");
// Save media file info
MediaFileInfoProvider.ImportMediaFileInfo(fileInfo);
FileSize、FileExtension などの null 許容列が原因でデータベース エラーが発生し続けます。MemoryStream を使用しているため、そのすべての情報を提供する方法が見つかりません。
MediaFileInfo API を MemoryStream ファイルと組み合わせて誤って使用していませんか?