umbraco 修改部分 根据ID生成Url以解决URL中出现中文的问题

发布于:
分类: Microsoft.Net Tagged

较早版本的修改

//srcUmbraco.Core.Models.ContentExtensions.cs
// line 425
// 解决发布URL问题
var niceUrl = contentBase.Name.FormatUrl().ToLower();
    niceUrl = string.Format("item-{0}", contentBase.Id).FormatUrl().ToLower();//增加此行
//srcumbraco.cms.businesslogic.datatypeFileHandlerData.cs
// line 50
//解决上传文件命名问题
var name = IOHelper.SafeFileName(postedFileName.Substring(postedFileName.LastIndexOf(IOHelper.DirSepChar) + 1, postedFileName.Length - postedFileName.LastIndexOf(IOHelper.DirSepChar) - 1).ToLower());
    name = String.Concat(Guid.NewGuid(), Path.GetExtension(name));//增加此行

更新到6.1.0以后的修改

//srcUmbraco.Core.Strings.DefaultUrlSegmentProvider.cs
// line 38
// 解决发发布URL问题
if (string.IsNullOrWhiteSpace(source))
     //source = content.Name;  原始代码,直接注释掉,改为下面一行
     source = string.Concat("item-",content.Id);

更新到7.0.4以后的修改

//srcUmbraco.Core.Models.ContentExtensions.cs
//line354
//上传文件保存自动以时间命名,解决文件URL中出现原始文件的中文等问题
var name = IOHelper.SafeFileName(file.FileName.Substring(file.FileName.LastIndexOf(IOHelper.DirSepChar) + 1, file.FileName.Length - file.FileName.LastIndexOf(IOHelper.DirSepChar) - 1).ToLower());
	name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));  //新加此行


//------------------line395------------------
var name = IOHelper.SafeFileName(fileName);
    name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));//新加此行

继续修改FileUploadPropertyValueEditor.cs,注释有ALl of this naming logic needs to be put into the ImageHelper and then we need to change ContentExtensions to do the same!,目前还未完成,希望以后少改点地方。

//srcUmbraco.Web.PropertyEditors.FileUploadPropertyValueEditor.cs
//line112
//解决修改Media,重新上传文件时自动以时间命名,解决文件URL中出现原始文件的中文等问题
var name = IOHelper.SafeFileName(file.FileName.Substring(file.FileName.LastIndexOf(IOHelper.DirSepChar) + 1, file.FileName.Length - file.FileName.LastIndexOf(IOHelper.DirSepChar) - 1).ToLower());
    name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));//新加此行

 

更新到7.2.4以后的修改

//srcUmbraco.Core.Models.ContentExtensions.cs
//line477
//上传文件保存自动以时间命名,解决文件URL中出现原始文件的中文等问题
	var name =
                IOHelper.SafeFileName(
                    fileName.Substring(fileName.LastIndexOf(IOHelper.DirSepChar) + 1,
                                       fileName.Length - fileName.LastIndexOf(IOHelper.DirSepChar) - 1)
                            .ToLower());
	name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));  //新加此行


//------------------line489------------------
var name = IOHelper.SafeFileName(fileName);
    name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));//新加此行

 

//srcUmbraco.Web.PropertyEditors.FileUploadPropertyValueEditor.cs
//line112
//解决修改Media,重新上传文件时自动以时间命名,解决文件URL中出现原始文件的中文等问题
var name = IOHelper.SafeFileName(file.FileName.Substring(file.FileName.LastIndexOf(IOHelper.DirSepChar) + 1, file.FileName.Length - file.FileName.LastIndexOf(IOHelper.DirSepChar) - 1).ToLower());
    name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));//新加此行

 

//srcUmbraco.Web.PropertyEditors.ImageCropperPropertyValueEditor.cs
//line106
//解决修改Media,重新上传文件时自动以时间命名,解决文件URL中出现原始文件的中文等问题
var name = IOHelper.SafeFileName(file.FileName.Substring(file.FileName.LastIndexOf(IOHelper.DirSepChar) + 1, file.FileName.Length - file.FileName.LastIndexOf(IOHelper.DirSepChar) - 1).ToLower());
                            name = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(name));//新加此行

 

//   Umbraco-CMS-release-7.10.4\src\Umbraco.Core\IO\MediaFileSystem.cs

filename = IOHelper.SafeFileName(filename.ToLowerInvariant());

//levee add 
filename = String.Concat(DateTime.Now.ToFileTime(), Path.GetExtension(filename));

 

3 comments

  1. I was looking through some of your blog posts on this site and I conceive this internet site is rattling informative ! Keep on putting up.

  2. Keep up the superb work , I read few blog posts on this site and I think that your website is really interesting and holds lots of wonderful info .

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注