2012-11-28 15 views
8

Sto lavorando con Visual WebPart e voglio caricare un'immagine dal mio controllo FileUpload in un elenco di SharePoint. Questo è il codice che sto usando ma non riesco a farlo funzionare (titolo, prodnum, colore, ecc. Funziona, ma non immagine). Ho anche installato SparQube.Impossibile caricare l'immagine in un elenco SharePoint

Questo è il mio 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; 
    } 

} 
+0

alcuna eccezione u può in grado di wite –

risposta

1

È possibile aggiungere file come flusso direttamente da Carica file per specifiche web utilizzando seguente metodo e quindi aggiungere il percorso del file alla lista, come mostrato in seguito ad esempio,

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

percorso è percorso relativo per l'immagine. nel nome file del caso utente. stream può ottenere utilizzando FileUpload.FileContent nel controllo caricamento file

Quindi aggiungere questo percorso all'elenco come di seguito.

listItem["Image"] = path; 

Questo è lavoro per tutti i browser.

1

Sei sicuro che SPList ha attivato Upload Atachment?

Avevo fatto l'esperienza che il pulsante del nastro normale non è disattivato, anche se l'elenco non è in grado di contenere gli allegati.

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

Che tipo di campo è "Immagine"? Non è la cartella degli allegati ...

Un altro modo per salvare l'immagine è caricarlo in una libreria e utilizzare un campo "Collegamento ipertestuale".

utilizzare questo come aiuto: http://www.sharepoint-tips.com/2007/10/code-practices-gettingsetting-values.html

Problemi correlati