我已经建立了一个供员工输入数据的网络表单,该表单通过我创建的数据库连接到SQL测试服务器。现在,我想从用户计算机(目录)上载一个图像(.jpg),并将图像到服务器路径(目前在我的计算机上)保存到我指定的文件夹中,然后将该路径保存到服务器/数据库。另外在保存时,如何在文件名中附加员工ID?
使用Visual Studio 2015,我已经创建了一个文件上传按钮和onclick按钮来保存所有内容。当我通过浏览器(firefox)运行程序时,它似乎运行顺利,没有错误。诊断工具向我显示了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路径更改为绝对路径而不是相对路径,这解决了我的问题。
字符串saveDir = @“ C:... \ Visual Studio 2015 \ Projects \ EMPMIS \ PASSPORTS”;
答案 0 :(得分:0)
<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";
}