8

ビジュアル Web パーツを使用していて、FileUpload コントロールから SharePoint リストに画像をアップロードしたいと考えています。これは私が使用しているコードですが、機能させることができません (タイトル、prodnum、色などは機能していますが、画像は機能していません)。SparQubeもインストールしました。

これは私の ListView: 画像 です。

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;
    }

}
4

3 に答える 3

1

SPList で添付ファイルのアップロードが有効になっていますか?

リストにアイテムの添付ファイルを保持できないにもかかわらず、通常のリボン ボタンがグレー表示されないことを経験しました。

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

「画像」とはどのタイプのフィールドですか? 添付ファイルフォルダではありません...

画像を保存するもう 1 つの方法は、画像をライブラリにアップロードし、「ハイパーリンク」フィールドを使用することです。

これをヘルプとして使用してください: http://www.sharepoint-tips.com/2007/10/code-practices-gettingsetting-values.html

于 2012-11-29T10:13:47.327 に答える
1

次の方法を使用してファイル アップロードから特定の Web に直接ストリームとしてファイルを追加し、以下の例に示すようにファイル パスをリストに追加できます。

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

path は画像の相対パスです。ユーザーケースのファイル名。 ストリームはFileUpload.FileContent、ファイル アップロード コントロールで使用できます

次に、このパスを以下のようにリストに追加します。

listItem["Image"] = path;

これはすべてのブラウザで機能します。

于 2012-11-29T04:22:10.693 に答える
0

この質問をチェックしてください: https://sharepoint.stackexchange.com/questions/49481/exception-when-adding-attachment/49485

標準の編集/追加ページで FileUpload コントロールを使用している場合、いくつかの問題があります。

于 2012-11-28T11:12:48.873 に答える