无法将图像上载到SharePoint列表

时间:2012-11-28 10:18:33

标签: c# sharepoint sharepoint-2010

我正在使用Visual WebPart,我想将文件从FileUpload控件上传到SharePoint列表。这是我正在使用的代码,但我无法让它工作,(标题,prodnum,颜色等工作,但不是图像)。我还安装了SparQube

这是我的ListView: Image http://i47.tinypic.com/x5z2v7.jpg

protected void Button_Save_Click(object sender, EventArgs e)
{
    SPSite currentSite = SPContext.Current.Site;
    SPList myList = currentSite.RootWeb.Lists.TryGetList("SharePointDatabase");

    try
    {
        if (myList != null && FileUpload_Pic.PostedFile != null && FileUpload_Pic.HasFile)
        {
            SPListItem listItem = myList.Items.Add();

            listItem["Title"] = TextBox_Name.Text;
            listItem["ProductNumber"] = TextBox_ProdNum.Text;
            listItem["Color"] = TextBox_Color.Text;
            listItem["ListPrice"] = TextBox_ListPrice.Text;
            listItem["MoreInformation"] = TextBox_MoreInfo.Text;

            string fileName = Path.GetFileName(FileUpload_Pic.PostedFile.FileName);
            listItem["Image"] = fileName;

            listItem.Update();                                            

            TextBox_Search.Text = string.Empty;
            TextBox_Name.Text = string.Empty;
            TextBox_MoreInfo.Text = string.Empty;
            TextBox_ProdNum.Text = string.Empty;
            TextBox_Color.Text = string.Empty;
            TextBox_ListPrice.Text = string.Empty;

            Label_Exception.Text = "Saved to Database list.";

            Dispose();
        }
    }
    catch (Exception x)
    {
        Label_Exception.Text = x.Message;
    }

}

3 个答案:

答案 0 :(得分:1)

您可以使用以下方法将文件直接从文件上传添加到特定网络,然后将文件路径添加到列表中,如下例所示,

SPContext.Current.Web.Files.Add(String.Concat(SPContext.Current.Web.Site.RootWeb.Url, path), stream, true);

路径是图像的相对路径。用户案例文件名中的 流可以在文件上传控件中使用FileUpload.FileContent

然后将此路径添加到列表中,如下所示。

listItem["Image"] = path;

这适用于所有浏览器。

答案 1 :(得分:1)

您确定SPList已启用Atachment上传吗?

虽然列表无法保存迭代匹配,但我已经明白普通功能区按钮不会显示为灰色。

SPList list = new SPList(); // Sample
list.EnableAttachments = false; //set
bool attachmentsAllowed = list.EnableAttachments; //get

什么类型的字段是“图像”?这不是附件文件夹...

保存图像的另一种方法是将其上传到库并使用“超链接”字段。

将此用作帮助:http://www.sharepoint-tips.com/2007/10/code-practices-gettingsetting-values.html

答案 2 :(得分:0)

查看此问题:https://sharepoint.stackexchange.com/questions/49481/exception-when-adding-attachment/49485

当您在标准编辑/添加页面中使用FileUpload控件时,存在一些问题。