Как программно загрузить файл с сайта sharepoint? - PullRequest
4 голосов
/ 07 апреля 2009

У меня есть сайт sharepoint, в котором есть таблица Excel, которую мне нужно загрузить по расписанию

Возможно ли это?

Ответы [ 4 ]

6 голосов
/ 21 августа 2012

Да, можно скачать файл с sharepoint. Если у вас есть URL-адрес документа, его можно загрузить с помощью HttpWebRequest и HttpWebResponse.

прикрепление примера кода

    DownLoadDocument(string strURL, string strFileName)
    {
        HttpWebRequest request;
        HttpWebResponse response = null;

            request = (HttpWebRequest)WebRequest.Create(strURL);
            request.Credentials = System.Net.CredentialCache.DefaultCredentials;
            request.Timeout = 10000;
            request.AllowWriteStreamBuffering = false;
            response = (HttpWebResponse)request.GetResponse();
            Stream s = response.GetResponseStream();

            // Write to disk
            if (!Directory.Exists(myDownLoads))
            {
                Directory.CreateDirectory(myDownLoads);
            }
            string aFilePath = myDownLoads + "\\" + strFileName;
            FileStream fs = new FileStream(aFilePath, FileMode.Create);
            byte[] read = new byte[256];
            int count = s.Read(read, 0, read.Length);
            while (count > 0)
            {
                fs.Write(read, 0, count);
                count = s.Read(read, 0, read.Length);
            }

            // Close everything
            fs.Close();
            s.Close();
            response.Close();

    }

Вы также можете использовать API-интерфейс GetItem для копирования файла, чтобы загрузить файл.

        string aFileUrl = mySiteUrl + strFileName;
        Copy aCopyService = new Copy();
        aCopyService.UseDefaultCredentials = true;
        byte[] aFileContents = null;
        FieldInformation[] aFieldInfo;
        aCopyService.GetItem(aFileUrl, out aFieldInfo, out aFileContents);

Файл может быть получен как байтовый массив.

2 голосов
/ 04 июня 2012

Вы также можете сделать это:

try
        {   
            using (WebClient client = new WebClient())
            {
                client.Credentials = new NetworkCredential("username", "password", "DOMAIN");
                client.DownloadFile(http_path, path);                    
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("Error: " + ex.Message);
        }
0 голосов
/ 07 апреля 2009

Почему бы просто не использовать wget.exe <url>. Вы можете поместить эту строку в командный файл и запустить ее через планировщик Windows.

0 голосов
/ 07 апреля 2009

Ссылка на документ в Sharepoint должна быть статическим URL. Используйте этот URL в любом решении, которое вам нужно, чтобы получить файл по расписанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...