Sharepoint为上传文件添加了不需要的代码

时间:2013-04-21 12:55:25

标签: c# sharepoint sharepoint-2010

使用SharePoint 2010并注意到一种非常奇怪的行为。 将html或css文件上传到文档库(由用户和C#代码)时,SharePoint会自动将这些代码添加到文件中:

<html xmlns:mso="urn:schemas-microsoft-com:office:office" xmlns:msdt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"><head>
<!--[if gte mso 9]><xml>
<mso:CustomDocumentProperties>
******************************
</mso:CustomDocumentProperties>
</xml><![endif]-->
</head>

这是非常不受欢迎的行为,导致上传的文件稍后将被自定义库用于验证目的。

是否有可能在SharePoint端避免此类行为?不希望修改验证库。

提前致谢。

1 个答案:

答案 0 :(得分:0)

确定。这个完成了。 两种变体:

  1. 如果通过代码添加项目 - 您可以在上传之前将文件格式修改为自定义(例如prjectNamehtml)。然后在事件接收器(项目添加事件) - 检查这是否是我们的自定义格式 - 将格式更改回html。在这种情况下,所描述的代码将不会被添加到文件中。
  2. 此变体更具通用性,也可用于通过门户手动上载文件。需要使用事件接收器,在构造函数中我们应该获取当前的Http Context并将其保存到变量中。然后在ItemAdding中 - 我们应该检查,如果这是.html文件 - 通过上下文获取它的内容并拒绝创建源文件。接收的内容应该用于通过代码保存文件并按照第一种变体进行处理。