Member 13799199 Ответов: 1

Как загрузить видео и получить путь из SQL server


Я помещаю свою веб-форму(UserPage.aspx) в корневую папку с именем UpdatePage, и я загружаю свои видео в другую корневую папку с именем: UploadedVideos. Все работает нормально. но когда я получаю путь к видео с sql-сервера и передаю его видеоплееру в Gridview, он ищет видео в UpdatePage/UploadVideos/filename.mp4 вместо корневой папки UploadVideos/Filename.mp4.
Как решить эту проблему??

Внутренний Код:
// Backend code for uploading file and saving path
if (fileupload1.HasFile && fileupload1.PostedFile != null && fileupload1.PostedFile.FileName != "")
{
	Bal objBal = new Bal();
	try
	{
		string filename = Path.GetFileName(fileupload1.PostedFile.FileName);
		fileupload1.PostedFile.SaveAs(Server.MapPath("~/UploadedVideos/" + filename));
		string filepathtostore = string.Format("UploadedVideos/"+filename);
		objBal.VideoFilePath = filepathtostore;
		objBal.Description = txtDesc.Text.Trim();
		objBal.Course = dropdownlist1.SelectedItem.ToString();
		objBal.filetype = dropdownlist2.SelectedItem.ToString();
		int result = objBal.AdminUploadPhysicsVideoBalFunc(objBal);
		if(result>0)
		{
			labelmsg.Visible = true;
			labelmsg.ForeColor = System.Drawing.Color.Green;
			labelmsg.Text = "Video File Updated Successfully";
		}
		else
		{
			labelmsg.Visible = true;
			labelmsg.ForeColor = System.Drawing.Color.Red;
			labelmsg.Text = "Can't Upload File Try Again.";
		}
		BindVideoPanel();
	}
	catch(Exception ex)
	{
		throw ex;
	}
	finally
	{
		objBal = null;
	}
}
 
// Backend code for binding Gridview
private void BindVideoPanel() 
{
	DataSet ds = new DataSet();
	Bal objBal = new Bal();
	try
	{
		ds = objBal.BindVideoPanelBalFunc();
		VideoGridView.DataSource = ds;
		VideoGridView.DataBind();
	}
	catch(Exception ex)
	{
		throw ex;
	}
	finally
	{
		objBal = null;
	}
}
Код фронтэнда :
<columns>
                       <asp:templatefield headertext="ID">
                           <itemtemplate>
                               <asp:label id="lblVideoId" runat="server" text="<%#Eval("Id") %>">
                           
                       

                       <asp:templatefield headertext="Course">
                           <itemtemplate>
                               <asp:label id="lblVideoCourse" runat="server" text="<%#Eval("Course") %>">
                           
                       

                       <asp:templatefield headertext="Description">
                           <itemtemplate>
                               <asp:label id="lblVideoDesc" runat="server" text="<%#Eval("VideoDesc") %>">
                           
                       
                       
                       <asp:templatefield headertext="Video Preview">
                           <itemtemplate>
                              
                                  
                              
                           
                       
                       
                       <asp:templatefield headertext="Actions">
                           <itemtemplate>
                               <asp:linkbutton id="lnkDelete" runat="server" commandname="Delete"><span class="fa fa-trash"></span>


Что я уже пробовал:

Я пытался пройти путь прямо, но не работал в любом случае.

MadMyche

Пройдя через код и посмотрев на свой первоначальный вопрос... похоже, что проблема может быть в коде, который вы не предоставили: BindVideoPanelBalFunc.
Возможно, вы захотите использовать виджет "улучшить вопрос" выше, чтобы добавить этот блок кода.

1 Ответов

Рейтинг:
5

DerekT-P

В вашем загруженном HTML-файле отсутствует (критический) раздел; однако вопрос кажется очень запутанным. Вы ссылаетесь на папку "root", являющуюся UpdatePage; но затем, чтобы другой корневая папка является UploadedVideos По определению, ваш сайт имеет одну корневую папку - вот почему она называется корневой!

Если ваш сайт размещен по адресу UpdatePage, вы не сможете получить доступ к чему-либо в UploadedVideos Если только не существует отдельного домена (или поддомена) с UploadedVideos как его корень, так и ваш веб-сервер позволяет получить доступ к серверу выше папка сайта - это (а) очень необычно и (Б) очень опасно. Чтобы решить эту проблему, я настоятельно рекомендую вам переехать UploadedVideos так что это подпапка UpdatePage - ваш код тогда будет работать - хотя вам нужно будет удалить ~\ в Server.MapPath позвоните, чтобы получить имя файла видео.