Я хочу отправить файл .csv в запросе POST
, где тип содержимого - «multipart/form-data», а в теле есть некоторый ключ и .csv-файл Ниже приведен код, я пробовал:Как отправить файл .csv с почтовым веб-запросом в C#
string url = "*****URL*****";
string root = AppDomain.CurrentDomain.BaseDirectory;
string file = root + "Folder\\file.csv";
FileInfo fileInfo = new FileInfo(file);
int fileLength = (int)fileInfo.Length;
FileStream rdr = new FileStream(file, FileMode.Open);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "POST";
request.ContentType = "multipart/form-data";
request.Headers["Content-Type"] = "multipart/form-data";
int bytesRead = 0;
byte[] requestByte = new byte[fileLength];
request.ContentLength = requestByte.Length;
using (Stream requestStream = request.GetRequestStream())
{
while ((bytesRead = rdr.Read(requestByte, 0, requestByte.Length)) != 0)
{
requestStream.Write(requestByte, 0, bytesRead);
requestStream.Close();
}
}
string responseData;
using (StreamReader responseStream = new StreamReader(request.GetResponse().GetResponseStream()))
{
responseData = responseStream.ReadToEnd();
responseStream.Close();
}
Но это дает ошибку в типе контента, может быть, я делаю это неправильно. Пожалуйста, помогите мне здесь.
Проверьте выбранный ответ в этом разделе: http://stackoverflow.com/questions/566462/upload-files-with-httpwebrequest-multipart-form-data –
Выбранный ответ был полезен; но они использовали NameValueCollection для отправки данных файла. Где у меня есть. CSV-файл, который содержит пять полей. Итак, как мне читать данные из файла и использовать его в запросе? –
Неважно. Насколько я понимаю, вы хотели загрузить файл CSV на сервер, я прав? Просто следуйте их обходному пути и используйте 'NameValueCollecttion' для отправки файла. –