我正努力在Unity内部打开PDF文件。目前,我的应用程序将打开文件夹位置,而不是打开实际的PDF本身。
我已尝试同时使用System.Diagnostics.Process.Start
和Application.OpenURL
,但它们的行为都相同。
现在,我的代码如下:
Application.OpenURL(Application.dataPath + "/PDFS/" + pdfFile);
现在,当我在下面的文件位置进行硬编码时,它会正确打开PDF:
Application.OpenURL("C:\\Users\\user\\Documents\\Locator\\Assets\\PDFS\\foo.pdf");
通常我会把它硬编码,但我需要允许一个按钮打开任何PDF。我该如何解决这个问题?
答案 0 :(得分:0)
下面两行的字符串输出很可能不相等。
Application.OpenURL(Application.dataPath + "/PDFS/" + pdfFile);
Application.OpenURL("C:\\Users\\user\\Documents\\Locator\\Assets\\PDFS\\foo.pdf");
确保路径相同,您应该得到预期的结果。
请在此处查看 Application.OpenURL 的文档: http://docs.unity3d.com/ScriptReference/Application-dataPath.html
如果你读到底部,你会注意到:
"请注意,PC上返回的字符串将使用正斜杠作为文件夹分隔符。"
这可能是您获得不同结果的原因。
另请注意,Application.OpenURL的值会根据平台而变化。
答案 1 :(得分:0)
string pdfURL = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + HttpRuntime.AppDomainAppVirtualPath + "Documents/keyboard-shortcuts-Visual-Studio-Code.pdf";
它返回url并在浏览器中运行
http://localhost:1727/Documents/keyboard-shortcuts-Visual-Studio-Code.pdf
感谢 众议员