Многие люди предложили Погружение В Python, который является, вероятно, лучшей книгой Python там для кого-то, кто уже хороший программист. Однако, если Вы плохо знакомы с программированием, лучшая книга, вероятно, "Как Думать Как Программист: Изучение С Python" ( http://openbookproject.net/thinkCSpy/index.xhtml )
Я подозреваю, что проблема в том, что вы используете строку «fp» вместо переменной fp
. Вот фиксированный код, также сделанный (IMO) более читабельным:
string filename = tt.PostedFile.FileName;
int lastSlash = filename.LastIndexOf("\\");
string trailingPath = filename.Substring(lastSlash + 1);
string fullPath = Server.MapPath(" ") + "\\" + trailingPath;
tt.PostedFile.SaveAs(fullPath);
Вам также следует подумать об изменении предпоследней строки на:
string fullPath = Path.Combine(Server.MapPath(" "), trailingPath);
Вы также можете подумать, что произойдет, если опубликованный файл будет использовать / вместо \ в имени файла ... например, если он публикуется из Linux. Фактически, вы можете полностью изменить первые три строки на:
string trailingPath = Path.GetFileName(tt.PostedFile.FileName));
Объединив их, мы получим:
string trailingPath = Path.GetFileName(tt.PostedFile.FileName));
string fullPath = Path.Combine(Server.MapPath(" "), trailingPath);
tt.PostedFile.SaveAs(fullPath);
Намного чище, IMO :)
Если вы хотите сохранить загруженный файл со значением fp, просто передайте его, не заключая в кавычки:
tt.PostedFile.SaveAs(fp);
Читая заголовок вопроса, я подумал, что похоже, что вы заключили имя переменной в кавычки. Не совсем веря, что это так, я открыл вопрос, чтобы прочитать, но это действительно было так ...