Я новичок, поэтому я уверен, что это что-то действительно основное, что мне не хватает.WebClient DownloadFile Недопустимые символы в пути
У меня есть простая программа для запуска файла csv
, содержащего ссылки на изображения для сохранения этих изображений в указанном местоположении файла сохранения.
Я анализирую ячейку, которая содержит url
, в List<string[]>
.
Если я положил GetImage(@"http://www.example.com/picture.jpg", 1)
, то моя GetImage
функция выполняет как следует. Когда я пытаюсь использовать цикл и передать переменную str[0]
, я получаю сообщение об ошибке в отношении недопустимых символов в пути.
Я использовал MessageBox
, чтобы рассказать мне, в чем разница, и насколько я могу судить, когда я передаю str[0]
в функцию, он добавляет двойные кавычки (т. Е. «Http://www.example.com "отображается вместо http://www.example.com, как это, когда я просто отправить одну строку.
Что я делаю неправильно?
private void button2_Click(object sender, EventArgs e)
{
string fileName = textBox1.Text;
folderBrowserDialog1.ShowDialog();
string saveLocation = folderBrowserDialog1.SelectedPath;
textBox2.Text = saveLocation;
List<string[]> file = parseCSV(fileName);
int count = 0;
foreach (string[] str in file)
{
if (count != 0)
{
GetImage(str[0], str[4]);
}
count++;
}
//GetImage(@"http://www.example.com/picture.jpg", "1");
}
private void GetImage(string url, string prodID)
{
string saveLocation = textBox2.Text + @"\";;
saveLocation += prodID + ".jpg";
WebClient webClt = new WebClient();
webClt.DownloadFile(url, saveLocation);
}
Возможно ли, что файл CSV содержит двойные кавычки? Затем вы должны заменить их ... – Kai
У моего файла csv их нет ... – user1744966
Возможно, проблема связана с 'saveLocation'? лучше использовать 'Path.Combine()' для путей (путь лучше, чем 'textBox2.Text + @" \ "+ prodID +" .jpg ";'). Можете ли вы проверить, какова ценность saveLocation? – Nasreddine