* Take another attempt at http://opensimulator.org/mantis/view.php?id=3191
* Return something more sensible if a file isn't found0.6.6-post-fixes
parent
14f0d5e77f
commit
01ca3a91ad
|
@ -422,8 +422,6 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
/// Resolve path to a working FileStream
|
/// Resolve path to a working FileStream
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private Stream GetStream(string path)
|
private Stream GetStream(string path)
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
{
|
||||||
if (File.Exists(path))
|
if (File.Exists(path))
|
||||||
{
|
{
|
||||||
|
@ -431,7 +429,9 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Uri uri = new Uri(path); // throw exception if not valid URI
|
try
|
||||||
|
{
|
||||||
|
Uri uri = new Uri(path);
|
||||||
if (uri.Scheme == "file")
|
if (uri.Scheme == "file")
|
||||||
{
|
{
|
||||||
return new FileStream(uri.AbsolutePath, FileMode.Open, FileAccess.Read);
|
return new FileStream(uri.AbsolutePath, FileMode.Open, FileAccess.Read);
|
||||||
|
@ -446,16 +446,18 @@ namespace OpenSim.Region.CoreModules.World.Archiver
|
||||||
return URIFetch(uri);
|
return URIFetch(uri);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
catch (UriFormatException)
|
||||||
catch (Exception e)
|
|
||||||
{
|
{
|
||||||
throw new Exception(String.Format("Unable to create file input stream for {0}: {1}", path, e.Message));
|
// In many cases the user will put in a plain old filename that cannot be found so assume that
|
||||||
|
// this is the problem rather than confusing the issue with a UriFormatException
|
||||||
|
throw new Exception(String.Format("Cannot find file {0}", path));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Stream URIFetch(Uri uri)
|
private static Stream URIFetch(Uri uri)
|
||||||
{
|
{
|
||||||
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri);
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
|
||||||
|
|
||||||
// request.Credentials = credentials;
|
// request.Credentials = credentials;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue