在移动WebBrowser控件WP8中显示文档

时间:2013-05-24 11:24:07

标签: c# windows-phone-8 webbrowser-control

我正在开发一个适用于时间表的商务移动应用,以及接受和创建文档等所有常规工作流程。

现在在一个页面上显示了一个列表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控件。

需要其他任何东西,只需说出这个词。

我不知道如何做到这一点,任何链接,建议或代码将不胜感激 我还是一名初级开发人员。

问候

1 个答案:

答案 0 :(得分:0)

在Windows手机上无法通过webview显示附件,因为Internet Explorer已停用所有防病毒控件。

所以我使用LauncFileAsync()类让本机查看器打开附件!

希望这会帮助那些和我一样尝试的人:)