rajib saiful Ответов: 0

Transmitfile выдает ошибку не удалось найти часть пути 'C:\upload\'


Я хочу редактировать строки представления сетки вместе с опцией загрузки файла. Я могу выполнить редактирование и загрузку файлов отдельно. Но когда я выполняю оба варианта и нажимаю кнопку Edit, это дает мне ошибку:не удалось найти часть пути 'c:\upload". Этот путь является правильным, и загрузка файла может быть выполнена с этого пути.

namespace gerp_support
{
    public partial class Admin : System.Web.UI.Page
    {
        string cs = ConfigurationManager.ConnectionStrings["GerpConnStr"].ConnectionString;
        SqlConnection con;
        SqlDataAdapter adapt;
        DataTable dt;  


        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                this.ShowData();
            }
        }

        private void ShowData()
        {
            dt = new DataTable();
            con = new SqlConnection(cs);
            con.Open();
            adapt = new SqlDataAdapter("SELECT ID,request_no,requestor,request_type, request_area, subject,description,attachment,req_status,admin_comment FROM request where req_status='Open' order by ID", con);



            adapt.Fill(dt);
            if (dt.Rows.Count > 0)
            {
                GridView1.DataSource = dt;
                GridView1.DataBind();
            }
            con.Close();

        }




        protected void GridView1_RowEditing(object sender, System.Web.UI.WebControls.GridViewEditEventArgs e)
        {
            //NewEditIndex property used to determine the index of the row being edited.  
            GridView1.EditIndex = e.NewEditIndex;
            ShowData();
        }



        protected void gvFiles_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            Response.Clear();
            Response.ContentType = "application/octet-stream";

           // Response.AppendHeader("Content-Disposition", "filename=" + e.CommandArgument);

            Response.AppendHeader("Content-Disposition", "attachment; filename=" + e.CommandArgument);

            string p = @"c:\upload\";

             Response.TransmitFile(p + e.CommandArgument);

          //  Response.TransmitFile(@"~\upload\" + e.CommandArgument);

            Response.End();
        }  

        protected void GridView1_RowUpdating(object sender, System.Web.UI.WebControls.GridViewUpdateEventArgs e)
        {
            //Finding the controls from Gridview for the row which is going to update  

            Label id = GridView1.Rows[e.RowIndex].FindControl("lbl_id") as Label;
            Label request_no = GridView1.Rows[e.RowIndex].FindControl("lbl_request_no") as Label;
            Label requestor = GridView1.Rows[e.RowIndex].FindControl("lbl_requestor") as Label;
            Label request_type = GridView1.Rows[e.RowIndex].FindControl("lbl_request_type") as Label;
            Label request_area = GridView1.Rows[e.RowIndex].FindControl("lbl_request_area") as Label;
            Label subject = GridView1.Rows[e.RowIndex].FindControl("lbl_subject") as Label;
            Label description = GridView1.Rows[e.RowIndex].FindControl("lbl_description") as Label;




            TextBox req_status = GridView1.Rows[e.RowIndex].FindControl("txt_req_status") as TextBox;
            TextBox admin_comment = GridView1.Rows[e.RowIndex].FindControl("txt_admin_comment") as TextBox;

            con = new SqlConnection(cs);
            con.Open();

            SqlCommand cmd = new SqlCommand("Update request set req_status='" +req_status.Text+ "',admin_comment='" +admin_comment.Text+ "' where ID=" + Convert.ToInt32(id.Text), con);
            cmd.ExecuteNonQuery();
 con.Close();

           GridView1.EditIndex = -1;

            ShowData();
}


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

Я попытался отредактировать строку представления сетки и загрузить файл отдельно, и это сработало. Но когда я выполняю оба и нажимаю кнопку редактирования, это дает ошибку:не удалось найти часть пути 'c:\upload\'

rajib saiful

Привет
Пожалуйста, получите скриншот сообщения об ошибке по ссылке ниже. При нажатии кнопки Edit появляется это сообщение об ошибке. Здесь нет возможности загрузки вложений.

http://stackoverflow.com/questions/38319744/transmitfile-gives-error-could-not-find-a-part-of-the-path-c-upload

BR
Раджиб

Richard Deeming

Когда вы отлаживаете свой код, какова его ценность? e.CommandArgument?

ZurdoDev

Если путь правильный, то есть этот путь существует везде, откуда выполняется код, то это, скорее всего, проблема с разрешениями.

rajib saiful

Спасибо Вам, Ряндев, за ответ. По этому пути файл загружается, но нажатие кнопки редактирования дает эту ошибку. Что указывает на отсутствие проблемы с разрешением. Пожалуйста, прокомментируйте, если я что-то упустил.

ZurdoDev

Где находится код для загрузки?

0 Ответов