diff --git a/libraries/networking/src/FileResourceRequest.cpp b/libraries/networking/src/FileResourceRequest.cpp index b55f1839a0..0625c3f0b8 100644 --- a/libraries/networking/src/FileResourceRequest.cpp +++ b/libraries/networking/src/FileResourceRequest.cpp @@ -17,6 +17,7 @@ #include #include +#include #include "ResourceManager.h" @@ -28,7 +29,7 @@ void FileResourceRequest::doSend() { if (_url.scheme() == URL_SCHEME_QRC) { filename = ":/" + _url.path(); } else { - filename = _url.toLocalFile(); + filename = PathUtils::expandToAppAbsolutePath(_url.toLocalFile(), true); // sometimes on windows, we see the toLocalFile() return null, // in this case we will attempt to simply use the url as a string if (filename.isEmpty()) { diff --git a/libraries/shared/src/PathUtils.cpp b/libraries/shared/src/PathUtils.cpp index 6ce9ac1176..4f58f5ebce 100644 --- a/libraries/shared/src/PathUtils.cpp +++ b/libraries/shared/src/PathUtils.cpp @@ -133,10 +133,15 @@ QUrl PathUtils::resourcesUrl(const QString& relativeUrl) { return QUrl(resourcesUrl() + relativeUrl); } -QString PathUtils::expandToAppAbsolutePath(const QString& filePath) { +QString PathUtils::expandToAppAbsolutePath(const QString& filePath, bool localPath) { QString path = filePath; if (path.startsWith("/~/")) { - path.replace(1, 2, applicationAbsolutePath()); + QString absolutePath = applicationAbsolutePath(); + if (localPath) { + path.replace(0, 3, absolutePath); + } else { + path.replace(1, 2, absolutePath); + } } return path; } diff --git a/libraries/shared/src/PathUtils.h b/libraries/shared/src/PathUtils.h index 4e8c442384..bf40a485a6 100644 --- a/libraries/shared/src/PathUtils.h +++ b/libraries/shared/src/PathUtils.h @@ -37,7 +37,7 @@ public: static QUrl resourcesUrl(const QString& relative); static const QString& resourcesPath(); static const QString& qmlBaseUrl(); - static QString expandToAppAbsolutePath(const QString& filePath); + static QString expandToAppAbsolutePath(const QString& filePath, bool localPath = false); static QUrl qmlUrl(const QString& relative); #ifdef DEV_BUILD static const QString& projectRootPath();