web: ascx页面
<tr> <td> <asp:Label ID="Label7" runat="server" Text="上传文件:"></asp:Label> </td> <td> <asp:FileUpload ID="FileInfo" runat="server" /> </td> <td> <asp:Label ID="lblFileDescription" runat="server" Text="文件备注或说明:"></asp:Label> </td> <td> <asp:TextBox ID="tbxFileRemarks" runat="server" Width="254px"></asp:TextBox> <asp:Button ID="btnUploadFile" runat="server" OnClick="btnUploadFile_Click" Text="上传" /> <asp:Label ID="filemessage" runat="server"></asp:Label> </td> </tr>
action: ascx.cs
protected void btnUploadFile_Click(object sender, EventArgs e)
{
if (FileInfo.HasFile)//上传文件
{
string FileURL = "";
//文件路径加上时间格式(可以封装时间再调用),SaveAs为保存到具体文件夹中
FileURL = Server.MapPath("~/ContentFiles/") + tbxProjectInfoNo.Text + DateTime.Now.Year.ToString("00")
+ DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + DateTime.Now.Hour.ToString("00") +
DateTime.Now.Minute.ToString("00") + DateTime.Now.Second.ToString("00") +
System.IO.Path.GetExtension(FileInfo.FileName);
FileInfo.SaveAs(FileURL);
//获取保存的路径
FileURL = @"http://" + this.PortalAlias.HTTPAlias + "/ContentFiles/" + tbxProjectInfoNo.Text + DateTime.Now.Year.ToString("00")
+ DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00") + DateTime.Now.Hour.ToString("00") +
DateTime.Now.Minute.ToString("00") + DateTime.Now.Second.ToString("00") + System.IO.Path.GetExtension(FileInfo.FileName);
string filenames = "";
if (tbxFileRemarks.Text.Length>0) {
filenames = tbxFileRemarks.Text;
} else {
filenames = FileInfo.FileName;
}
cc.insertNewFileUrlAndInfo(FileURL, tbxProjectInfoNo.Text, filenames, UserInfo.Username);//保存路径及提交人、项目编号、文件名称到数据库
dtProjectFileinfo = cc.GetProjectFiles(tbxProjectInfoNo.Text);//根据项目编号获取信息
if (dtProjectFileinfo.Rows.Count > 0)
{
filemessage.Visible = true;
filemessage.ForeColor = System.Drawing.Color.Green;
filemessage.Text = "文件上传成功。";
}
Page_Load(null, null);
}
}
数据封装层:
/// <summary>
/// 获取项目附件列表
/// </summary>
/// <param name="ProjectNo">项目号</param>
/// <returns></returns>
public DataTable GetProjectFiles(string ProjectNo)
{
return sqlAccess.ExecuteTable("select * from OverSystems_ProjectFiles where ProjectNo=‘" + ProjectNo + "‘");
}
/// <summary>
/// 添加新文件
/// </summary>
/// <param name="FilePath">文件路径</param>
/// <param name="ProjectID">项目号</param>
/// <param name="FileRemarks">文件描述</param>
public void insertNewFileUrlAndInfo(string FilePath, string ProjectID, string FileRemarks, string CreateUserName)
{
CommandText = "Update OverSystems_ProjectInfo Set IsContentFile=1 where ProjectNo=‘" + ProjectID + "‘";
sqlAccess.ExecuteNonQuery(CommandText);
CommandText = "INSERT INTO OverSystems_ProjectFiles (ProjectNo,FilePath,FileRemarks,CreateDate,CreateUserName) " +
"VALUES(‘" + ProjectID + "‘,‘" + FilePath + "‘,‘" + FileRemarks + "‘,getdate(),‘" + CreateUserName + "‘)";
sqlAccess.ExecuteNonQuery(CommandText);
}
原文:https://www.cnblogs.com/liuguiqing/p/15218159.html