Sharepoint自定义上传字段和附件?

时间:2010-10-10 14:26:09

标签: sharepoint

我开发了一个自定义sharepoint字段,用于上传特定文档库中的文件,并在将其作为字段值存储后存储该文件的URL。

问题是上传的文件在我想要的库中存储了两次,另一个作为附件与列表中具有该字段的项目存储。

如何避免将文件作为附件保存?

谢谢

修改:以下是代码:

public override void UpdateFieldValueInItem()
        {

            string name="";

            if(fileUploader.PostedFile.FileName!="")
            {
            //method to store the posted file in a certain library
            string x= UploadFile(this.Web, fileUploader.PostedFile.FileName,fileUploader.FileName,out name);

            //Stores The URL and the name of the file
            SPFieldUrlValue urlValue = new SPFieldUrlValue() { 
                Description=name,
                Url=x
            };

            this.Value = urlValue;
            this.ItemFieldValue = urlValue;
            }
}

UploadFile方法

string UploadFile(SPWeb web,string path,string fileName,out string name)
        {
            UploadField uf = (UploadField)base.Field;



            SPList docsList = web.Lists[uf.StoreList];
            SPFolder folder = web.GetFolder(docsList.RootFolder.UniqueId);
            byte[] contents = File.ReadAllBytes(path);


            SPFile file= folder.Files.Add(folder.Url + "/" + fileName, contents);
            //folder.Update();
            SPListItem item = docsList.Items[file.UniqueId];

            name = item["Name"].ToString();
            return getItemURL(item);

        }

1 个答案:

答案 0 :(得分:0)

从代码中我可以看到,您正在上传到库中,但只是确保没有回发。 我建议您再次手动创建链接。 它主要是形式 // 希望这有帮助


请访问SharePointSchool.net以开始使用SharePoint 2010