我正在为一个客户端工作,该客户端需要在MS Dynamics CRM中上载6MB的文件。客户端具有要在Dynamics CRM中上载的.pdf,.csv文件。现在,如果我们可以在上传到Dynamics CRM之前压缩这些文件,则可以正常工作。 我正在尝试通过使用以下代码来修复需求。 这正在工作并正在压缩文件,但是当我们此时下载附件时,我们可以看到弹出消息
我们无法打开此文件xxx.pdf文件,因为我们发现了问题 及其内容。
if (entity.Attributes.Contains("documentbody"))
{
string bytes = entity.Attributes["documentbody"].ToString();
tracingService.Trace("CompressImagePlugin: {0}", "crossed try block first line " + bytes.Length);
byte[] Uncompressedtext = Convert.FromBase64String(bytes);
if (entity.Attributes.Contains("filename") && entity.Attributes["filename"] != null
&& (entity.Attributes["filename"].ToString()
.Contains(".pdf") || entity.Attributes["filename"].ToString()
.Contains(".docx")))
{
tracingService.Trace(entity.Attributes["filename"].ToString());
byte[] compress = CompressZip(Uncompressedtext);
string compressedData = Convert.ToBase64String(compress);
entity.Attributes["documentbody"] = compressedData;
}
}
谢谢
答案 0 :(得分:1)
由于要将文件类型从PDF更改为ZIP,因此还需要更新附件的文件名和mimetype。像这样:
entity.Attributes["filename"] = entity.Attributes["filename"].ToString().Replace(".pdf", ".zip");
entity.Attributes["mimetype"] = "application/zip";
现在,当用户单击附件时,应该提示他们下载包含PDF文件的ZIP文件。