C#--web中上传图片与浏览

摘要:
FileUpload控件:property:FileName:文件名HasFile:bool是否选择文件FileBytes:要上载的文件的二进制数据方法:SaveAs:上载,另存为。protectedvoidButton1_单击{Label2.Text=FileUpload1.FileName;stringfilename=DateTime.Now.ToString+Label2.Text;stringpath=Server.MapPath+文件名;FileUpload1.另存为;}(2) 传输多个文件:想法:通过表单中的所有FileUpload控件,如果您选择了一个文件,请使用intindex=0上载它;Foreach{if{index++;//获取每个上载控件FileUploadupload=ctrlasFileUpload;//如果在上载控件中选择了{,则文件路径为字符串路径=Server.MapPath;//upload.SaveAs;}}My:protectedvoidButton8_单击{foreach{if{FileUploadfiup=coasFileUpload;if//键{stringfilename=DateTime.Now.ToString+fiup.FileName;stringpath=Server.MapPath+FileName;fiup.SaveAs;fiup.File}2、 上传到数据库图像字段:(1)传送到数据库1.制作数据库的操作代码。我的页面1:protectedvoidButton2_单击//上载到数据库{ImageshujuDatada=newImageshujuData();da.Name=FileUpload1.FileName;da.Path=FileUpload 1.FileBytes;ImageshujuDAim=newImageshujuDA();im.Insert;}protectedvoidllimage_单击//从数据库{Image1.ImageUrl=“Showimage.aspx”浏览图像?


FileUpload控件:
属性:
FileName:文件名
HasFile:bool 是否选中了文件
FileBytes:要上传文件的二进制数据
方法:
SaveAs(string 绝对路径):上传,另存为。

一、上传到硬盘文件夹
(一)传单个文件
第一步:准备好文件及路径:
//把之前在客户端的文件名给取出来
string fileName = FileUpload1.FileName;

//防止文件重名
fileName = DateTime.Now.ToString("yyyyMMddhhmmsss") + fileName;

//把相对路径转化为绝对路径
string path = Server.MapPath("uploads/" + fileName);

第二步:执行上传:
//上传
FileUpload1.SaveAs(path); //参数必须根路径

注意:
1.如何防止文件重名?
2.如何防止同一时间点不同用户传统一文件名?

protected void Button1_Click(object sender, EventArgs e)
{
Label2.Text = FileUpload1.FileName;
string filename = DateTime.Now.ToString("yyyyMMddhhmmss") + Label2.Text;
string path = Server.MapPath("/upload/") + filename;
FileUpload1.SaveAs(path);
}

(二)传多个文件:
思路:遍历表单中所有的FileUpload控件,如果选择文件就上传

int index = 0;
foreach (Control ctrl in form1.Controls)
{
if (ctrl is FileUpload)
{
index++;
//取得每个上传控件
FileUpload upload = ctrl as FileUpload;
//上传控件中选上文件了
if (upload.HasFile)
{
//做文件路径出来
string path = Server.MapPath("uploads/" + DateTime.Now.ToString("yyyyMMddhhmmss") + index.ToString("00") + upload.FileName);

//上传
upload.SaveAs(path);
}
}
}

我的:

protected void Button8_Click(object sender, EventArgs e)
{
foreach (Control co in form1.Controls)
{
if (co is FileUpload)
{
FileUpload fiup=co as FileUpload;
if (fiup.HasFile)//重点
{
string filename = DateTime.Now.ToString("yyyyMMddhhmmss") + fiup.FileName;
string path = Server.MapPath("/upload/") + filename;
fiup.SaveAs(path);
}

}
}
}

二、上传到数据库Image字段:
(一)传到数据库去
1.做数据库的操作代码。DA Data
Image字段对应在程序里是byte[]类型

2.做界面上的代码。
a.把界面的值取出来
FileUpload1.FileBytes - 用来获得上传文件的二进制数据。
b.送到数据库去

(二)从数据库中找出来,显示出来
法一:会生成垃圾文件
在服务端生成一个JPG,把这个JPG的路径赋给Image控件

法二:单独做一个用来显示图片二进制数据的页面。把这个页面赋给Image控件。

我的;

页面一:

protected void Button2_Click(object sender, EventArgs e)//上传到数据库
{
ImageshujuData da = new ImageshujuData();
da.Iname = FileUpload1.FileName;
da.Ipath = FileUpload1.FileBytes;
ImageshujuDA im=new ImageshujuDA();
im.Insert(da);
}
protected void llimage_Click(object sender, EventArgs e)//从数据库中浏览图片
{
Image1.ImageUrl = "Showimage.aspx?id="+TextBox1.Text;
}

页面二:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DA;
using Data;
public partial class Showimage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string iid=Request["id"].ToString();
int imid = Convert.ToInt32(iid);
ImageshujuData da = new ImageshujuDA().Select(imid);
if (da != null)
{
byte[] pic = da.Ipath;
Response.OutputStream.Write(pic,0,pic.Length);
Response.End();

}
}
}

数据库:

drop table Imageshuju;--删除
create table Imageshuju--创建
(
Iid int identity primary key,
Iname varchar(100) not null,
Ipath image
)

select * from Imageshuju;--查询

免责声明:文章转载自《C#--web中上传图片与浏览》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇探索ASP.NET Core 3.0系列一:新的项目文件、Program.cs和generic hostwebpack4.x抽取css【extract-text-webpack-plugin与mini-css-extract-plugin】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Ueditor1.4.3.3+springMvc+maven 实现图片上传

前记:由于项目中需要有一个新增数据并且要能支持表格图片上传的功能。使用了ueditor控件。为实现这个功能,从一开始什么都看不懂,到一直连着弄了5天,总算是有了眉目。在此记录一下以便能帮到可以和我一样遇到问题的人!本人使用的是ueditor 1.4.3.3 的jsp 版本的。 首先下载ueditor 开发版 到本地目录 下载地址:http://uedito...

织梦CMS如何能实现直接粘贴把图片上传到服务器中

tinymce是很优秀的一款富文本编辑器,可以去官网下载。https://www.tiny.cloud 这里分享的是它官网的一个收费插件powerpaste的旧版本源码,但也不影响功能使用。 http://blog.ncmem.com/wordpress/2019/08/07/umeditor%E7%B2%98%E8%B4%B4word%E5%9B%BE%...

express + multer 文件上传入门

写在前面的 在web开发中,我们经常会遇到图片上传的功能,接下来我们就在express4.15.0框架中利用multer1.3.0模块来实现图片上传 开始敲代码 首先利用express-generator express框架生成器生成我们的项目 这里我们采用ejs模板引擎(因为我只会这个) express -e uploads 创建好之后,目录结构如下图...

java后台中处理图片辅助类汇总(上传图片到服务器,从服务器下载图片保存到本地,缩放图片,copy图片,往图片添加水印图片或者文字,生成二维码,删除图片等)

最近工作中处理小程序宝箱活动,需要java画海报,所以把这块都快百度遍了,记录一下处理的方法,百度博客上面也有不少坑! 获取本地图片路径: String bgPath = Thread.currentThread().getContextClassLoader().getResource("/").getPath().replaceAll("WEB-INF...

wangEditor编辑器的使用

使用场景wangEditor  x-admin前端框架 文档手册地址:https://www.wangeditor.com/ 第一步:在html 页面引入需要的js(最好把这些js 下载下来,本地引入) <script type="text/javascript" src="https://unpkg.com/wangeditor/dist/wang...

uni-app 图片上传(uploadFile,chooseImage)

uni-app 图片上传(uploadFile) 1 <template> 2 <view> 3 <progress :percent="percent"strock-width="10"></progress> 4 <button type="primary"@...