Сохранить изображение jpg в моей веб-форме и связать его с моей базой данных? - PullRequest
1 голос
/ 17 мая 2019

Я настроил веб-форму для сотрудников для ввода данных, которая подключена к тестовому серверу SQL с созданной мной базой данных.Теперь я хочу загрузить изображение (.jpg) с компьютера пользователя (dir) и сохранить его на пути к серверу (который сейчас находится на моем компьютере) в папку, которую я обозначил, и сохранить путь к серверу / базе данных.Кроме того, во время сохранения, как я могу включить имя файла с прикрепленным идентификатором сотрудника?

Используя Visual Studio 2015, я уже создал кнопку загрузки файла и кнопку щелчка, чтобы сохранить все.Когда я запускаю программу через браузер (firefox), кажется, что она работает без ошибок.Утилита dignostics показывает мне ASP.NET: сохранение состояния завершено "/WebF.

После запуска, когда я наводю указатель мыши на какой-то текст, он показывает, что некоторые части работали до:

if (FileUpload1.HasFile)

Я проверил на этом сайте различные решения, но они, похоже, не работают, например, image.save(); и image.saveAs();, которые не сработали. Возможно, я делаю это неправильно и не понимаю C #пока.

Я использовал пример со справочных страниц Microsoft. docs .net, но, похоже, он не работает полностью.

Этот код я получил со справочных страниц Microsoft .net.

protected void UploadButton_Click(object sender, EventArgs e)
{
    string saveDir = @"~\Visual Studio 2015\Projects\EMPMIS\PASSPORTS";

    string MainPath = Request.PhysicalApplicationPath;

    string EMPLOYEEID = TXTEMPID.Text;
    string UserFile = FileUpload1.FileName;

    if (FileUpload1.HasFile)
    {
        string savePath = MainPath + EMPLOYEEID + Server.HtmlEncode(UserFile);

        // Append the name of the file to upload to the path.
        //string EMPLOYEEID = TXTEMPID.Text;
        // savePath += fileName + EMPLOYEEID;

        FileUpload1.SaveAs(savePath);

        UploadStatusLabel.Text = "Your file was saved as " + UserFile;
    }
    else
    {
        UploadStatusLabel.Text = "You did not specify a file to upload.";
    }
}

РЕДАКТИРОВАТЬ Решением было изменение пути saveDir на абсолютный, а не относительный путь, что решило мою проблему.

string saveDir = @ "C: ... \ Visual Studio 2015 \ Проекты \ EMPMIS \ PASSPORTS ";

1 Ответ

0 голосов
/ 17 мая 2019
  <asp:Label ID="lblmsg" runat="server" Style="color: black; font-weight: bold; font-size: large;"
                        Text="Image Uploaded." />
                         <asp:FileUpload ID="fupidproof" runat="server" />
  <asp:HiddenField ID="hdidproof" runat="server" />
   <asp:Button ID="btnidproof" runat="server" Text="Upload" Style="background-color: darkcyan;
                                            color: white;" OnClick="btnidproof_Click" />

 --------------------------------aspx.cs code---------------------
  protected void btnidproof_Click(object sender, EventArgs e)
    {
            string str = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
            SqlConnection con = new SqlConnection(str);
            cmd.CommandType = CommandType.StoredProcedure;
             SqlCommand cmd = new SqlCommand("ProcedureName", con);

            string logopath = "";
            if (fupidproof.HasFile)
            {
                logopath = "~//Kycimg//" + Guid.NewGuid() + fupidproof.FileName;
                hdidproof.Value = logopath.ToString();
                fupidproof.SaveAs(Server.MapPath(logopath));
            }
            cmd.Parameters.AddWithValue("@Image", hdidproof.Value, SqlDbType.VarChar);
            cmd.ExecuteNonQuery();
            lblMessage.Text = "Image has been Uploaded Successfully";


    }
...