我正在开发一个适用于时间表的商务移动应用,以及接受和创建文档等所有常规工作流程。
现在在一个页面上显示了一个列表op附件,我想要做的是当用户点击它应该在webbrowser控件中打开的附件时。问题是,它不一定是PNG或JPG,它可以是word文档或powerpoint演示文稿。
所以我做了什么,在从webservice获得附件后,我调用了这个函数。
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控件。
需要其他任何东西,只需说出这个词。
我不知道如何做到这一点,任何链接,建议或代码将不胜感激 我还是一名初级开发人员。
问候
答案 0 :(得分:0)
在Windows手机上无法通过webview显示附件,因为Internet Explorer已停用所有防病毒控件。
所以我使用LauncFileAsync()类让本机查看器打开附件!
希望这会帮助那些和我一样尝试的人:)