ASP.NET学习笔记(4)——上传图片
2024-08-26 08:58:38
说明(2017-10-8 23:03:43):
1. 后面的内容都是一些杂七杂八的,零零碎碎的,之前都直接略过了,不过其实还是挺重要的,这次重新学习要认认真真敲一遍。
2. 明天中午9号要回北京了,今晚跟介绍的妹子聊了一个多小时,哎!
3. 下集预告,给图片加水印!
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form action="index.ashx" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="text" name="txt" />
<input type="submit" value="上传" />
</form>
</body>
</html>
index.ashx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO; namespace _02_图片上传
{
/// <summary>
/// index 的摘要说明
/// </summary>
public class index : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
//接收文件数据
HttpPostedFile file = context.Request.Files["file"];
if (file == null)
{
context.Response.Write("未上传图片!");
}
else
{ //string fileName = Path.GetFileName(file.FileName);
//加上全局唯一标识,防止图片重名
Guid g = Guid.NewGuid();
string fileName = Guid.NewGuid().ToString();
//获取扩展名
string fileExt = Path.GetExtension(file.FileName);
//相对路径
string filePath = "image/" + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
//绝对路径
//创建文件夹,以年月日命名
string fileRealPath = context.Request.MapPath("image/") + DateTime.Now.Year + "/" + DateTime.Now.Month + "/" + DateTime.Now.Day + "/";
Directory.CreateDirectory(fileRealPath);
//判断文件类型,防止上传病毒
if (fileExt == ".jpg")
{
file.SaveAs(fileRealPath + fileName + fileExt);
//这个地方的图片路径需要是相对路径,不然不显示
context.Response.Write("<html><head></head><body><h1>哈哈哈哈</h1><img src='" + filePath + fileName + fileExt + "'/></body></html>");
} }
} public bool IsReusable
{
get
{
return false;
}
}
}
}
最新文章
- html与css面试结合工作的总结难点
- 如何让nodejs同步操作
- DFX 安全测试-- 告诉你什么是XSS、sql注入?POST和GET的区别....
- OAuth2授权页面state参数的设计
- CAS 单点登录流程
- [phonegap]安装phonegap
- protoc的protoc-gen-grpc-java插件
- Word分栏
- sed正则表达式
- 【SICP读书笔记(三)】练习2.18 --- 表序列的reverse方法
- iOS开发——判断是否第一次启动
- PHP封装数据库连接
- openstack基础:网络
- idc市场
- 二级VB备考中
- chrome浏览器使用chrome://inspect调试app 网页,打开空白的问题
- nginx+php-fpm 报“File not found.”
- gulp生成发布包脚本
- [转]Tesseract-OCR (Tesseract的OCR引擎最先由HP实验室于1985年开始研发)
- Socket-Vs-WebSocket-TestTool
热门文章
- C语言stat()函数:获取文件状态
- Rplidar学习(一)—— 开发套件初识
- Python学习笔记(四)——编码和字符串
- xcode9报错 Safe Area Layout Guide before iOS9.0
- [aaronyang] nodejs学习-mongodb[1]
- MySQL-InnoDB Compact 行记录格式
- mysql - tmp_table_size &; max_heap_table_size
- 如何提升RDS响应速度
- linux中chkconfig 启动程序顺序介绍
- 数据库事务隔离级别+Spring 声明性事务隔离级别