大家好,又见面了,我是你们的朋友全栈君。
NetCMS系统的新闻附件,是通过down.aspx页面实现下载附件的。这样做的好处可能是可以隐藏附件的真实地址,但给用户使用会带来一个小麻烦:无法使用右键单击来实现将下载的文件另存为。
经检查,此功能是在NetCMS.Publish命名空间的LabelMass类中定义的getNewsFiles实现的,文件位于NetCMS.Publish/Label/NewsParameter.cs。原来是这样定义的:
/// <summary> /// 取得附件地址 /// </summary> /// <param name=”NewsID”>新闻编号</param> /// <returns>返回附件地址</returns> protected string getNewsFiles(string NewsID, int NewsTF) { string str = “”; IDataReader rd = CommonData.DalPublish.GetNewsFiles(NewsID); while (rd.Read()) { str += “<div><a href=/”” + CommonData.SiteDomain + “/down-” + rd[“id”].ToString() + “.aspx/”>” + rd[“URLName”].ToString() + “</a></div>”; } rd.Close(); return str; }
很明显可以看出,生成的html页面的链接是down.aspx页面。现将其改为如下:
/// <summary> /// 取得附件地址 /// </summary> /// <param name=”NewsID”>新闻编号</param> /// <returns>返回附件地址</returns> protected string getNewsFiles(string NewsID, int NewsTF) { string str = “”; IDataReader rd = CommonData.DalPublish.GetNewsFiles(NewsID); while (rd.Read()) { string DownAdress = rd[“FileUrl”].ToString().ToLower(); DownAdress = DownAdress.Replace(“{@dirfile}”, NetCMS.Config.UIConfig.dirFile); DownAdress = DownAdress.Replace(“{@dirtemplet}”, NetCMS.Config.UIConfig.dirTemplet); string dimm = NetCMS.Config.UIConfig.dirDumm; if (dimm.Trim() != string.Empty) { dimm = “/” + dimm; } DownAdress = dimm + DownAdress;
str += “<div><a href=/”” + CommonData.SiteDomain + “/” + DownAdress + “/”>” + rd[“URLName”].ToString() + “</a></div>”; } rd.Close(); return str; }
编译之后,将NetCMS.Web/Bin文件夹生成的NetCMS.Publish.dll复制到服务器的发行目录下,就可以了。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187681.html原文链接:https://javaforall.cn