Ich habe eine Sharepoint-Site, die eine Excel-Tabelle hat, die ich auf einer Schedule-Basis herunterladen mussWie programmiere ich eine Datei von einer Sharepoint-Site?
Ist das möglich?
Ich habe eine Sharepoint-Site, die eine Excel-Tabelle hat, die ich auf einer Schedule-Basis herunterladen mussWie programmiere ich eine Datei von einer Sharepoint-Site?
Ist das möglich?
Warum nicht einfach wget.exe <url>
verwenden. Sie können diese Zeile in eine Batch-Datei einfügen und diese über den Windows-Scheduler ausführen.
Der Link zum Dokument in Sharepoint sollte eine statische URL sein. Verwenden Sie diese URL in jeder Lösung, die Sie benötigen, um die Datei in Ihrem Zeitplan zu erfassen.
Sie können dies auch tun:
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);
}
Ja, es ist möglich, die Datei von Sharepoint zum Download bereit. Sobald Sie die URL für das Dokument haben, kann es mit HttpWebRequest und HttpWebResponse heruntergeladen werden.
Anbringen eines Beispielcode
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();
}
Sie können auch die GetItem API von Kopier-Service verwenden, um eine Datei herunterzuladen.
string aFileUrl = mySiteUrl + strFileName;
Copy aCopyService = new Copy();
aCopyService.UseDefaultCredentials = true;
byte[] aFileContents = null;
FieldInformation[] aFieldInfo;
aCopyService.GetItem(aFileUrl, out aFieldInfo, out aFileContents);
Die Datei kann als Byte-Array abgerufen werden.
Gibt es Software, die das macht? –
wget wie oben beantwortet wird dies tun. – mccrager