예제 #1
0
        public static string SetContent(IDataDictionary data, Func <string> getFilePath)
        {
            var filePath = string.Empty;

            data.TryGetValue <string>("Content", content =>
            {
                var rawType = data.GetValue <string>("ContentType", null);

                if (string.IsNullOrEmpty(content) || content.Length < 500)
                {
                    //调整内容类型为嵌入格式
                    data.TrySetValue("ContentType", Utility.GetContentType(rawType, true));

                    return;
                }

                //设置内容文件的存储路径
                filePath = getFilePath();

                //将内容文本写入到文件中
                Utility.WriteTextFile(filePath, content);

                //更新内容文件的存储路径
                data.SetValue("Content", filePath);

                //更新内容类型为非嵌入格式(即外部文件)
                data.SetValue("ContentType", Utility.GetContentType(rawType, false));
            });

            return(filePath);
        }