1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
string boundary = String.Format("----------{0:N}", Guid.NewGuid());
byte[] boundarybytes = Encoding.ASCII.GetBytes("\r\n--" + boundary + "\r\n");
string urlParams = "?token=" + HttpUtility.UrlEncode(token);
urlParams += "&folder_idi=" + folder_idi;
/// exécute la requête http/ exécute la requête http
WebRequest wb = WebRequest.Create("http://*************/gedweb/upload_documents_for_folder_idi" + urlParams);
wb.Method = "POST";
wb.ContentType = "multipart/form-data; boundary=" + boundary;
Stream dataStream = wb.GetRequestStream();
dataStream.Write(boundarybytes, 0, boundarybytes.Length);
byte[] formitembytes = Encoding.UTF8.GetBytes("test.txt");
dataStream.Write(formitembytes, 0, formitembytes.Length);
dataStream.Write(boundarybytes, 0, boundarybytes.Length);
string headerTemplate = "Content-Disposition: form-data; name=\"{0}\"; filename=\"{1}\"\r\nContent-Type: {2}\r\n\r\n";
string header = string.Format(headerTemplate, "file", "test.txt", "text/plain");
byte[] headerbytes = Encoding.UTF8.GetBytes(header);
dataStream.Write(headerbytes, 0, headerbytes.Length);
FileStream fileStream = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
byte[] buffer = new byte[4096];
int bytesRead = 0;
while ((bytesRead = fileStream.Read(buffer, 0, buffer.Length)) != 0)
{
dataStream.Write(buffer, 0, bytesRead);
}
fileStream.Close();
byte[] trailer = Encoding.ASCII.GetBytes("\r\n--" + boundary + "--\r\n");
dataStream.Write(trailer, 0, trailer.Length);
dataStream.Close();
HttpWebResponse response = (HttpWebResponse)wb.GetResponse(); |
Partager