diff --git a/src/Orchard.Web/Modules/Orchard.MediaLibrary/MediaFileName/MediaFileNameDriver.cs b/src/Orchard.Web/Modules/Orchard.MediaLibrary/MediaFileName/MediaFileNameDriver.cs
index ee345abbfc..70264811b6 100644
--- a/src/Orchard.Web/Modules/Orchard.MediaLibrary/MediaFileName/MediaFileNameDriver.cs
+++ b/src/Orchard.Web/Modules/Orchard.MediaLibrary/MediaFileName/MediaFileNameDriver.cs
@@ -61,9 +61,12 @@ protected override DriverResult Editor(MediaPart part, IUpdateModel updater, dyn
try {
_mediaLibraryService.RenameFile(part.FolderPath, priorFileName, model.FileName);
part.FileName = model.FileName;
-
+
_notifier.Add(NotifyType.Information, T("File '{0}' was renamed to '{1}'", priorFileName, model.FileName));
}
+ catch (OrchardException) {
+ updater.AddModelError("MediaFileNameEditorSettings.FileName", T("Unable to rename file. Invalid Windows file path."));
+ }
catch (Exception) {
updater.AddModelError("MediaFileNameEditorSettings.FileName", T("Unable to rename file"));
}
diff --git a/src/Orchard/Validation/PathValidation.cs b/src/Orchard/Validation/PathValidation.cs
index db2d3a37b3..3d0b5b864c 100644
--- a/src/Orchard/Validation/PathValidation.cs
+++ b/src/Orchard/Validation/PathValidation.cs
@@ -1,11 +1,13 @@
using System;
using System.IO;
+using Orchard.Localization;
namespace Orchard.Validation {
///
/// Provides methods to validate paths.
///
public static class PathValidation {
+
///
/// Determines if a path lies within the base path boundaries.
/// If not, an exception is thrown.
@@ -26,7 +28,7 @@ public static string ValidatePath(string basePath, string mappedPath) {
}
if (!valid) {
- throw new ArgumentException("Invalid path");
+ throw new OrchardException(new LocalizedString("Invalid Path"));
}
return mappedPath;