我正在开发一个与时间表一起使用的商业移动应用程序,以及一个所有通用的工作流程,比如接受和创建文档。
现在在一个页面上显示了一个列表操作附件,我想要做的是当用户单击附件时,它应该在 webbrowser 控件中打开。问题是,它不会总是 PNG 或 JPG,它可以是 word 文档或 powerpoint 演示文稿。
所以我做了什么,在从 web 服务获取附件后,我调用了这个函数。
public static string GetMimeType(string fileExt)
{
//fileExt.ThrowIfNullOrEmpty();
//fileExt = fileExt.TrimStart('.');
fileExt = Path.GetExtension(fileExt);
switch (fileExt)
{
case ".jpeg":
case ".gif":
case ".png":
case ".tiff":
case ".bmp":
return "image/" + fileExt;
case ".jpg":
return "image/jpeg";
case ".tif":
return "image/tiff";
case ".htm":
case ".html":
case ".shtml":
return "text/html";
case ".js":
return "text/javascript";
case ".csv":
case ".css":
case ".sgml":
return "text/" + fileExt;
case ".txt":
return "text/plain";
case ".wav":
return "audio/wav";
case ".mp3":
return "audio/mpeg3";
case ".mid":
return "audio/midi";
case ".qt":
case ".mov":
return "video/quicktime";
case ".mpg":
return "video/mpeg";
case ".avi":
return "video/" + fileExt;
case ".rtf":
return "application/" + fileExt;
case ".xls":
return "application/x-excel";
case ".docx":
case ".doc":
return "application/msword";
case ".ppt":
return "application/powerpoint";
case ".gz":
case ".tgz":
return "application/x-compressed";
default:
throw new NotSupportedException("Unknown fileExt: " + fileExt);
}
}
然后我得到它的文件类型。
现在在这里我不知道该怎么办...我将如何使用 mimetype 和附件名称来告诉 webbrowser 控件以适当的方式显示附件。
到目前为止,这就是我对 webbrowser 控件的页面加载的了解。
string imagename = WorkflowBase.ViewModel_WFPOSDocument.POSDocument.AttachmentList[0].FileName.ToString();
string image = WorkflowBase.ViewModel_WFPOSDocument.POSDocument.AttachmentList[0].Attachment.ToString();
string imagelink = WorkflowBase.ViewModel_WFPOSDocument.POSDocument.AttachmentList[0].AttachmentLink.ToString();
string imagemimetype = AccTech.Helpers_and_Extensions.MimeTypes.GetMimeType(imagename);
MyViewer.IsScriptEnabled = true;
MyViewer.DataContext = this;
MyViewer.Source = new Uri(URL, UriKind.Relative);
myviewer 是 webbrowser 控件。
还需要什么,直接说出来。
我不知道如何做到这一点,任何链接、建议或代码将不胜感激,我仍然是初级开发人员。
问候