asp.net mvc 图片上传

html

在使用包含文件上传控件的表单时,必须使用 enctype="multipart/form-data" 属性

<form enctype="multipart/form-data" action="upload" method="post" >
<div>
<input type="file" name="imgFile">
<input type="submit" value="上传">
</div>
</form>

后台

 public JsonResult upload(HttpPostedFileBase imgFile) {

            string da = DateTime.Now.ToString("yyyy-MM-ddHHmmss");
//获取虚拟路径
var fileName = Server.MapPath(@"~/assets/");
//获取文件后缀
string ExtName = Path.GetExtension(imgFile.FileName).ToLower();
//获取绝对路径
string imgPath = @"E:\img\" + da + ExtName;
FileInfo file1 = new FileInfo(imgPath);
//获取父目录路径
var di1 = file1.Directory;
//判断父目录是否存在
if (!di1.Exists)
di1.Create();
//判断文件是否存在
if (!file1.Exists)
{
//保存文件
imgFile.SaveAs(imgPath);
}
return Json("success:true");
}

js上传

  $('#file_upload').click(function () {
var imgFile = new FormData();
var files = $('#file')[0].files;
if (files) {
imgFile.append('imgFile', files[0]);
}
$.ajax({
cache: false,
type: 'post',
dataType: 'json',
url: 'upload',
data: imgFile,
contentType: false,
processData: false,
success: function (data) {
alert(1);
}
});
});

写入txt

       public void WLog()
{
string da = DateTime.Now.ToString("yy-MM-dd");
//获取虚拟路径
var fileName = Server.MapPath(@"~/assets/");
//获取绝对路径
string absolute_path = @"E:\";
//拼接文件路径
string path = fileName + "log/" + da + ".txt";
//创建对文件的引用
FileInfo file = new FileInfo(path);
//获取父目录路径
var di = file.Directory;
//判断父目录是否存在
if (!di.Exists)
di.Create();
//判断文件是否存在
if (!file.Exists)
{
//创建文件 并释放文件资源
FileStream fs = file.Create();
fs.Close();
fs.Dispose();
}
//写入流、释放资源
StreamWriter sw = file.AppendText();
//追加数据;
sw.Write(" 修改时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + ",删除号: 1111,被修改的账户:222,登录名:3333,账号所登录的IP:1232546\r\n");
sw.Close();
sw.Dispose(); }

创建图形验证码

        /// <summary>
/// 创建图形验证码
/// </summary>
/// <param name="validateNum">验证码长度</param>
private void CreateImage(string validateNum)
{
if (validateNum == null || validateNum.Trim() == string.Empty)
return;
//生成BitMap图像
Bitmap image = new Bitmap(validateNum.Length * + , );
Graphics g = Graphics.FromImage(image);
try
{
//生成随机生成器
Random random = new Random();
//清空图片背景
g.Clear(Color.White);
////画图片的背景噪音线
//for (int i = 0; i < 25; i++)
//{
// int x1 = random.Next(image.Width);
// int x2 = random.Next(image.Width);
// int y1 = random.Next(image.Height);
// int y2 = random.Next(image.Height);
// g.DrawLine(new Pen(Color.Silver), x1, x2, y1, y2);
//}
Font font = new System.Drawing.Font("Arial", , (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(, , image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);
g.DrawString(validateNum, font, brush, , );
//画图片的前景噪音点
for (int i = ; i < ; i++)
{
int x = random.Next(image.Width);
int y = random.Next(image.Height);
image.SetPixel(x, y, Color.FromArgb(random.Next()));
}
//画图片的边框线
//g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
//将图像保存到指定流
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType = "image/Gif";
Response.BinaryWrite(ms.ToArray());
}
finally
{
g.Dispose();
image.Dispose();
}
}

c# txt 文件上传、写入TXT文件、创建图形验证码的更多相关文章

  1. skymvc文件上传支持多文件上传

    skymvc文件上传支持多文件上传 支持单文件.多文件上传 可以设定 文件大小.存储目录.文件类型 //上传的文件目录 $this->upload->uploaddir="att ...

  2. Struts1文件上传、单文件、多文件上传【Struts1】

     将struts1文件上传的操作汇总了一下,包括单文件上传和多文件上传,内容如下,留作备忘: Struts2实现文件上传的文章(http://blog.csdn.net/itwit/article/d ...

  3. SpringMVC文件上传下载(单文件、多文件)

    前言 大家好,我是bigsai,今天我们学习Springmvc的文件上传下载. 文件上传和下载是互联网web应用非常重要的组成部分,它是信息交互传输的重要渠道之一.你可能经常在网页上传下载文件,你可能 ...

  4. 强大的支持多文件上传的jQuery文件上传插件Uploadify

    支持多文件上传的jQuery文件上传插件Uploadify,目前此插件有两种版本即Flash版本和HTML5版本,对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持Fla ...

  5. struts文件上传(多文件)

    第01步:配置web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version= ...

  6. SpringMVC单文件上传、多文件上传、文件列表显示、文件下载(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 本文工程 ...

  7. yii2.0单文件上传和多文件上传

    yii2文件上传使用到yii2自带的文件上传类UploadFIle,以及对应的模型规则,这里分别介绍单文件上传和多文件上传: yii2单个文件上传: 上传步奏,先创建上传表单模型model(包含验证规 ...

  8. 使用PHP实现文件上传和多文件上传

    PHP 2013 年 9 月 4 日 暂无评论 在PHP程序开发中,文件上传是一个使用非常普遍的功能,也是PHP程序员的必备技能之一.值得高兴的是,在PHP中实现文件上传功能要比在Java.C#等语言 ...

  9. (29)Spring boot 文件上传(多文件上传)【从零开始学Spring Boot】

    文件上传主要分以下几个步骤: (1)新建maven java project: (2)在pom.xml加入相应依赖: (3)新建一个表单页面(这里使用thymleaf); (4)编写controlle ...

  10. PHP实现文件上传和下载(单文件上传、多文件上传、多个单文件上传)(面向对象、面向过程)

    今天我们来学习用PHP进行文件的上传和下载,并且用面向过程和面向对象的方式对文件上传进行一个限制 一.简单的上传测试 1.客户端:upload.php 2.后端:doAction.php 结果: 二. ...

随机推荐

  1. Asp.net之数组应用

    string[] abc=new string[8]{"1","2","3","4","1",&qu ...

  2. MyBatis 插件 : 打印 SQL 及其执行时间

    Plugins 摘一段来自MyBatis官方文档的文字. MyBatis允许你在某一点拦截已映射语句执行的调用.默认情况下,MyBatis允许使用插件来拦截方法调用: Executor(update. ...

  3. POJ 1921 Paper Cut(计算几何の折纸问题)

    Description Still remember those games we played in our childhood? Folding and cutting paper must be ...

  4. 《安装ubuntu及VMware以及相关问题汇总》

    一.VMware Ubuntu安装详细过程 http://blog.csdn.net/u013142781/article/details/50529030 二.VMware Tools (ubunt ...

  5. 算法与数据结构3.1 stack

    ★实验任务 一天,小 L 发现了一台支持一下操作的机器: IN x:将整数 x 入栈 POP:将栈顶元素出栈 ASUB:出栈两个数,将两数差的绝对值入栈 COPY:将栈顶元素(如果有的话)复制一份,入 ...

  6. ZOJ 2072 K-Recursive Survival

    https://vjudge.net/contest/67836#problem/K n people numbered 1 to n around a circle, we eliminate ev ...

  7. mysql 时区问题:The server time zone value '???ú±ê×??±??' is unrecognized

    org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.sql.SQLE ...

  8. Maximum execution time of 30 seconds exceeded解决办法

    Maximum execution time of 30 seconds exceeded,今天把这个错误的解决方案总结一下: 简单总结一下解决办法: 报错一:内存超限,具体报错语句忘了,简单说一下解 ...

  9. 探讨C++实现一个不可被继承的类

    C#和Java都提供了一种机制让一个类不能被继承,如C#中的sealed关键字和Java的final关键字,然而C++程序员就没这么好命了.不过C++也可以模拟出这种效果,原理基于:子类的构造函数会自 ...

  10. Spring AOP 源码解析

    什么是AOP AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP引入 ...