2014-09-26 2 views
0

Я спасаю URL-адрес из картинок с FileUpload1.SaveAs(Server.MapPath(path) и я инициализировать переменную пути:удаления «~ /» от первого объекта SqlDataReader

path = "~/Persian/slideshow/pictures/" + FileUpload1.FileName; 

Я должен добавить «~ /», потому что для вставки к решению и поэтому вставлять в базу данных, мне нужно это сделать. моя проблема в том, что когда я хочу прочитать этот путь к карте из базы данных и создать тег изображения, я не могу удалить часть «~ /» из объекта. вот мой код:

dataReader = command.ExecuteReader(); 
imageList = ""; 
while (dataReader.Read()) 
{ 
    url = dataReader["PhotoUrl"].ToString(); 
    url = url.Substring(2, url.Length - 2); 
    imageList += "{ image: '" + url + "', title: '" + dataReader["PhotoTitle"] + "', thumb: '" + dataReader["PhotoUrl"] + "', url: '" + dataReader["PhotoUrl"] + "' },"; 
} 

Проблема здесь Я не могу использовать связанные с строкой функции для исправления пути. Что мне делать?

Спасибо так много;)

+0

Что вы хотите, чтобы URL-адрес выглядел в JSON? –

+0

Подстрока работает. Похоже, что в ImageList вы повторно используете dataReader ["PhotoUrl"] и должны использовать переменную url. Если это не проблема, можете ли вы показать, что содержит список изображений и что вы ищете? –

+0

Нет Просто я хочу удалить ~/из первого URL-адреса, который добавляется с помощью FileUpload1.SaveAs (Server.MapPath (путь)) к URL-адресу. проблема в том, когда я читаю это поле из базы данных, это не строка. Так что я не могу этого сделать. – user3159964

ответ

0

поэтому выше код полностью верно и работать. моя проблема заключалась в том, что я удаляю/с начала URL-адреса.

path = "~/Persian/slideshow/pictures/" + FileUpload1.FileName; 
dataReader = command.ExecuteReader(); 
      imageList = ""; 
      while (dataReader.Read()) 
      { 
       url = dataReader["PhotoUrl"].ToString(); 
       url = url.Substring(1); 
       imageList += "{ image: '" + url + "', title: '" + dataReader["PhotoTitle"] + "', thumb: '" + dataReader["PhotoUrl"] + "', url: '" + dataReader["PhotoUrl"] + "' },"; 
      } 
0

Если путь сохранен в БД, как «~/Персидский/слайд-шоу/фотографии/aa.gif», и вы хотите иметь «/Persian/slideshow/pictures/aa.gif» в вашем коде, вы может использовать .ToString() и подстроку для этого.

string dbpath = "~/Persian/slideshow/pictures/aa.gif" ; // actual dbpath will be DataReaderObj["path"].ToString(); 
    string newpath = dbpath.Substring(1, dbpath.Length - 1); // this will remove ~ only 
    string newpath = dbpath.Substring(2, dbpath.Length - 2); // to remove ~/ 

Использовать выше строки внутри цикла while, чтобы получить требуемый путь к файлу.

+0

да! это ответ;) – user3159964

Смежные вопросы