项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统项目实战:ASP.NET:B/S结构个人空间相册、照片上传下载系统编辑环境:win10_x64/VS2015/SqlServer2012项目:asp.net项目简介:只是具有基本的登录功能,上传相关信息,图片,提供下载,相册功能,熟悉表格和基本的前后台程序其他:这是写的第一个asp.net,只是为了熟悉和了解asp.net项目和相关的知识。本次只是简单地前台ht…

大家好,又见面了,我是你们的朋友全栈君。

项目实战:ASP.NET:B/S结构  个人空间相册、照片上传下载系

 

编辑环境:win10_x64 /VS2015/ SqlServer2012

项目:asp.net

项目简介:只是具有基本的登录功能,上传相关信息,图片, 提供下载,相册功能,熟悉表格和基本的前后台程序

其他:这是写的第一个asp.net,只是为了熟悉和了解asp.net项目和相关的知识。本次只是简单地前台html页面和后台的以一般应用处理程序的结合熟悉与使用,还暂时没有使用到相关的MVC和专业的编程规程,只是为了熟悉和使用,后面还有比较大的程序, 第三个asp.net项目,则是完全的商业化编程,规范,具有很大难度[相对于我],有着很好的编程思路和项目实战经验。【下面提供项目源码和数据库的链接】

 

 

==================================================================

 

项目运行效果

==================================================================

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

==================================================================

项目思路分析:

==================================================================

 

==================================================================

项目主要源码部分:

==================================================================

项目实战:ASP.NET:B/S结构 个人空间相册、照片上传下载系统

简单地前台HTML页面加上,对应的后台处理程序, 组合成一个简单微型网站,功能具有基本的登录功能,上传相关信息,图片, 提供下载,相册功能,熟悉表格和基本的前后台程序。

个人觉里面比较重要的的就是图片的上传和查看个人空间相册功能,和就是下载功能

==================================================================

项目源码:

==================================================================

//连接数据库代码
 <connectionStrings >
    <add name="connStr" connectionString="server=192.168.186.128;uid=sa;pwd=Aq123456;database=huahua"/>
    <!--<add key="ConnectionString" value="server=192.168.186.128;database=bbs;uid=sa;pwd=Aq123456"/>-->
  </connectionStrings>


//登录页面
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>登录入口界面</title>
	<meta charset="utf-8" />
</head>
<body>
    <h1>登录入口界面</h1>

    <span></span>
    
     <form method="post" action="Index.ashx">  <!--需要跳转到处理程序里面-->
         <table border="1" cellpadding="0" cellspacing="0" align="center">
             <tr>
                 <td>用户名:</td>
                 <td><input type="text" name="username" /></td>
             </tr>

             <tr>
                 <td>密码:</td>
                 <td><input type="text" name="userpass" /></td>
             </tr>

             <tr align="center">
                 <td colspan="2"> <input type="submit" value="登录" /> </td>
             </tr>
         </table>
     </form>


</body>
</html>



//登录验证后台,应用处理程序
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Web;

namespace hua.test
{
    /// <summary>
    /// Index 的摘要说明
    /// </summary>
    public class Index : IHttpHandler
    {
        private readonly static string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

        public void ProcessRequest(HttpContext context)
        {
            //Response:服务器对客户端的响应
            context.Response.ContentType = "text/html";  
            //context.Response.Write("Hello World");

            string id = context.Request.Form["username"];
            string pass = context.Request.Form["userpass"];

            //*****************************************************************************************************
            //方式一:手动验证的账号密码
            //if (name.Equals("admin") && pass.Equals("123"))
            //{
            //    //重定向进行跳转
            //    context.Response.Redirect("HtmlPage1.html");
            //}
            //else
            //{
            //    string filePath = context.Request.MapPath("Index.html");  //得到指定文件的绝对路径
            //    string fileContext = File.ReadAllText(filePath);  //得到index.html里面的文本内容 
            //    fileContext = fileContext.Replace("$msg", "<h1>您输入的账号或者密码错误,请重新输入!</h1>");  //把文本里指的内容进行替换
            //    context.Response.Write(fileContext);  //将替换后的内容输出到客户端(浏览器)
            //}
            //*****************************************************************************************************


      //      SELECT [s_id]
      //,[s_passed]
      //,[s_name]
      //,[s_time]
      //,[s_email]

            using (SqlConnection conn = new SqlConnection(connStr))
            {
                string sql = "select * from dbo.Table_1 where @s_id = s_id and @s_passed = s_passed";
                using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connStr))
                {
                    SqlParameter[] pars = { new SqlParameter("@s_id", SqlDbType.NVarChar),
                                            new SqlParameter("@s_passed", SqlDbType.NVarChar)};

                    pars[0].Value = id;
                    pars[1].Value = pass;
                    adapter.SelectCommand.Parameters.AddRange(pars);
                    DataTable dt = new DataTable();
                    adapter.Fill(dt);


                    if (dt.Rows.Count > 0)
                    {
                       
                         DataRow row = dt.Rows[0];//取第一行数据  fileupload
                        string filePath = context.Request.MapPath("fileupload/fileupload.html");
                        string fileContext = File.ReadAllText(filePath);
                        fileContext = fileContext.Replace("$id", id);
                        context.Response.Write(fileContext);
                        // context.Response.Redirect("fileupload/FileUpload.html?id=203");//重定向跳转
                    }
                    else
                    {
                        string filePath = context.Request.MapPath("index.html");
                        string fileContext = File.ReadAllText(filePath);
                        fileContext = fileContext.Replace("<span></span>", "输入的用户名或者密码错误 ,请重新输入");
                        context.Response.Write(fileContext);
                    }


                }

            }


        }



        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

由于代码比较多, 这里就这一个做一个示范。下面附上

 

================================================
源码下载:

B/S结构 个人空间相册、照片上传下载系统

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/157468.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 关于mysql 出现 1264 Out of range value for column 错误的解决办法

    关于mysql 出现 1264 Out of range value for column 错误的解决办法

    2021年10月27日
  • typescript的泛型_泛型有什么用

    typescript的泛型_泛型有什么用泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定具体类型的一种特性。引入下面创建一个函数,实现功能:根据指定的数量count和数据value,创建一个包

  • 无人驾驶汽车系统入门(二)——高级运动模型和扩展卡尔曼滤波

    无人驾驶汽车系统入门(二)——高级运动模型和扩展卡尔曼滤波前言:上一篇文章的最后我们提到卡尔曼滤波存在着一个非常大的局限性——它仅能对线性的处理模型和测量模型进行精确的估计,在非线性的场景中并不能达到最优的估计效果。所以之前为了保证我们的处理模型是线性的,我们上一节中使用了恒定速度模型,然后将估计目标的加减速用处理噪声来表示,这一模型用来估算行人的状态其实已经足够了,但是在现实的驾驶环境中,我们不仅要估计行人,我们除了估计行人状态以外,我们还需要估计其他

  • lmdb数据库的读取与转换(二) —— 数据集操作

    lmdb数据库的读取与转换(二) —— 数据集操作数据集的lmdb将数据集转换成lmdb实际上就是一条条地将img和label的key-value形式写进lmdb中importcv2importlmdbimportnumpyasnpenv=lmdb.open(‘./data/train/CVPR2016’)txn=env.begin()forkey,valueintxn.cursor():#遍历print(key)#print(value)env.close()遍历lmdb中..

  • ElasticSearch数据库安装与配置[通俗易懂]

    ElasticSearch数据库安装与配置[通俗易懂]1、安装去官网下载安装包:https://www.elastic.co/cn/downloads/elasticsearch解压改压缩包就行,解压后的目录如下2、配置进入bin目录,双击elasticsearch.bat即可启动数据库服务。在浏览器中输入localhost:9200即可查看是否启动成功:显示上面的json串则表示启动成功。下面介绍如何配置可远程连接:需要修改config目录下的elasticsearch.yml文件在elastcisearch.yml文件中加上如下配

  • 列车调度(贪心)

    列车调度(贪心)#题目:火车站的列车调度铁轨的结构如下图所示。两端分别是一条入口(Entrance)轨道和一条出口(Exit)轨道,它们之间有N条平行的轨道。每趟列车从入口可以选择任意一条轨道进入,最后从出口离开。在图中有9趟列车,在入口处按照{8,4,2,5,3,9,1,6,7}的顺序排队等待进入(一条轨道可以停放多个火车)。如果要求它们必须按序号递减的顺序从出口离开,则至少需要多少条平行铁轨用于调度?输入格式…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号