Sharepoint API - как загрузить файлы в библиотеку документов Sharepoint из веб-приложения ASP.NET

Я новичок в Sharepoint Server, есть ли у нас утилита для загрузки файлов из приложения ASP.NET.

Не могли бы вы дать ценные ответы?


person Community    schedule 10.11.2008    source источник


Ответы (1)


Для этого вы можете написать собственный код. Вы можете использовать SharePoint API, если находитесь на одном сервере или используете WebServices.

Вот пример кода, предполагающего, что вы знаете URL-адрес библиотеки документов и загружаете документ в корневую папку. Вам нужно будет добавить Microsoft.SharePoint.dll в качестве ссылки на ваш проект ASP.NET.

        using (SPSite siteCollection = new SPSite(url))
        {
            using (SPWeb spWeb = siteCollection.OpenWeb())
            {
                SPList spList = spWeb.GetList(url);

                string fileName = "XXXX";
                FileStream fileStream = null;
                Byte[] fileContent = null;

                try
                {
                    string docPath = XXXX; //physical location of the file
                    fileStream = File.OpenRead(docPath + fileName);
                    fileContent = new byte[Convert.ToInt32(fileStream.Length)];
                    fileStream.Read(fileContent, 0, Convert.ToInt32(fileStream.Length));

                    spList.RootFolder.Files.Add(spList.RootFolder.Url + "/" + fileName, fileContent, true);
                    spList.Update();
                }
                catch(Exception ex)
                {

                }
                finally
                {
                    if (fileStream != null)
                    {
                        fileStream.Close();
                    }
                }
            }
        }
person Community    schedule 10.11.2008
comment
Вы также можете использовать SPFolder.Add (url, Stream, overwrite) вместо чтения всего файла в память (что может привести к проблемам с производительностью, если вы планируете загружать большие файлы) - person Marek; 19.04.2012