From 4c7496840ddcb67f54bb2b29803a310d52f7d0a3 Mon Sep 17 00:00:00 2001 From: kjac Date: Tue, 6 Jun 2017 22:41:04 +0200 Subject: [PATCH] Fix upload and image cropper (again) Fixes #384, #389 and #394 --- .../PropertyEditors/ArcheTypePropertyEditor.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs index 8e1413f..c067ad5 100644 --- a/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs +++ b/app/Umbraco/Umbraco.Archetype/PropertyEditors/ArcheTypePropertyEditor.cs @@ -206,7 +206,13 @@ namespace Archetype.PropertyEditors else if (propDef.EditorState != null && propDef.EditorState.FileNames != null && propDef.EditorState.FileNames.Any()) { // pass the uploaded files that belongs to this property (if any) to the value editor - var propertyFiles = propDef.EditorState.FileNames.Select(f => uploadedFiles.FirstOrDefault(u => u.FileName != null && u.FileName.Equals(f, StringComparison.OrdinalIgnoreCase))).Where(f => f != null).ToList(); + var propertyFiles = propDef.EditorState.FileNames.Select(fileName => + uploadedFiles.FirstOrDefault(u => u.FileName != null && + // #384, #389 and #394 - look for "safe" file names (using the ToSafeFileName() extension) + // - for backwards compatibility we'll look for the raw filename as well as the "safe" file name + (u.FileName.Equals(fileName, StringComparison.OrdinalIgnoreCase) || u.FileName.Equals(fileName.ToSafeFileName(), StringComparison.OrdinalIgnoreCase)) + ) + ).Where(f => f != null).ToList(); if(propertyFiles.Any()) { additionalData["files"] = propertyFiles;