问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

asp.net实现上传指定格式为.rar .zip.pdf.txt.doc.ppt.excel至少这7...

发布网友 发布时间:2024-09-17 01:56

我来回答

4个回答

热心网友 时间:2024-09-25 23:59

1、上传什么文件都可以,关键是空间商让不让你传这些格式的文件。
2、判断文件格式,可以百度一下“C# 文件类型判断”,这是服务器安全的问题必须要注意的。
3、上传时,文件重命名(不重命名的话文件将被无提示的覆盖,建议年月日时分秒毫秒的形式为文件前缀,这样就不会有重复了),把文件路径和文件名写入数据库即可,至少神马上传机制、写入流程这些东东你不用管,电脑会自动完成。
4、在网站上给出文件链接即可,这样用户就可以下载了,至少用户选择IE的另存为还是迅雷等方式,由用户自己去选择。
希望给你一些思路,能帮到你。

热心网友 时间:2024-09-25 23:58

预览这个你可以重新写一个页面
我这个是用三层做的,我只给你一个用二进制流存照片例子、我这个代码太多
model层

//照片,二进制数组来操作
public byte[] Photo { get; set; }

DAL层
//这里执行插入数据库的SQL语句
public void Insert(Employee employee)
{
SqlHelper.ExecuteNonQuery("insert into tbl_Employee(Photo)values (@Photo)",
new SqlParameter("@Photo", SqlHelper.GoToDBNull(employee.Photo))
);
}

SQLHELPER是我自己写的一个类,我把这个ExecuteNonQuery的方法粘给你
public static int ExecuteNonQuery(string sql,params SqlParameter[] parameter)
{
using (SqlConnection conn= new SqlConnection(connStr))
{
conn.Open();
using (SqlCommand cmd= conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameter);
return cmd.ExecuteNonQuery();
//ExecuteNonQuery对连接执行SQL语句并返回受影响行数
}
}
}

UI层
这个是一个上传照片的按钮,上传了就当做二进制流读进来
OpenFileDialog ofdPhot = new OpenFileDialog();
ofdPhot.Filter = "JPG|*.jpg|ico|*.ico";//你可以在这个地方增加你的那些所有的文件格式
if (ofdPhot.ShowDialog()==true)
{
Employee employee = (Employee)gridEmployee.DataContext;//这儿你可以不用写
//这里开始读照片

string filename = ofdPhot.FileName;
employee.Photo = File.ReadAllBytes(filename);//读取文件的二进制数据
imgPhoto.Source = new BitmapImage(new Uri(filename));
}

这个是一个确定的按钮、调用上面的insert方法

Employee employee = (Employee)gridEmployee.DataContext;//整个页面我用了数据上下文,就是DataContext,这个比较快一点,你可以用一个控件给他src赋值为上面的上传的文件
new EmployeeDAL().Insert(employee);//这里执行插入数据库的语句

现在不流行用二进制流存照片还是存其他的文件,数据库负担太重了。都是在项目下面搞一个文件夹、上传的文件放在里面,在数据库里面存他的路径,读的时候根据路径从那儿读就可以了

热心网友 时间:2024-09-25 23:55

b/s结构的,只能判断文件后缀名了,winform的可以在按钮事件里面判断!
Filter = "JPG|*.jpg|ico|*.ico";

热心网友 时间:2024-09-25 23:53

建议你参考下PageOffice吧
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
街头篮球手游中锋攻略汇总 C位攻略大全 街头篮球手游中锋有什么技巧 中锋C技巧详解 php一个表单提交数据怎么区分开,隐藏域可以吗,如果可以怎么用。 梦见牙掉光了什么预兆 梦见牙齿掉完了是什么征兆 梦见牙齿全掉了是什么预兆 梦见一口牙全部掉了是什么预兆 教师年度考核不认课的领导班子成员,干的工作不少,怎样考核办法公平... 湖北省郧西县义务教育学校绩效工资实施办法绩效工资总量和水平的... 事业单位年底是否有绩效奖金的 ASP.NET 怎样删除和重命名一个文件? 有哪些优质的翠螺推荐? 翠螺绿茶的制作工艺七道工序 翠螺怎么吃 百度网盘怎么打开扫一扫功能? 健身有氧和无氧训练的区别 - 选择适合自己的锻炼方式 消灭垃圾桶里的小飞虫方法有几种啊? 蓝色如何调成灰色 如何将红色加深蓝色调成黑色? 如何用红色加深蓝色调成黑色? 怎样用红色加深蓝色调出黑色呢? PSP版《罪恶都市传奇》秘籍里,有车的秘籍吗? 侠盗猎车罪恶都市传奇 罪恶都市传奇汉化版完美存档任务都过了的收集齐100个包裹有车有房飞机... oled屏幕和ICL屏幕的区别 我在电脑上下了罪恶都市传奇,是英文版,不知道怎么把语言变成中文。求帮... 求罪恶都市传奇pc版下载或PS2镜像也行(用模拟器玩) 侠盗猎车手:罪恶都市传奇下载地址(电脑) qq空间怎么删评论 品牌家具选购技巧解析 ...000002...000009最好是按照文件放进文件夹的顺序修改! 杰士吸盐粉哪里有卖 粉盐有什么作用与功效 ...我借款了,在借条上写明用车子作低押,他这个是诈骗吗? 厚厚熊机器人联网说明书 科沃斯机器人app使用说明书是什么? 儿童早教智能机器人怎么联网 纸层析原理怎么也有毛细现象啊 纸层析原理怎么也有毛细现象啊 这种在纸上了还存在 水分子水分子力_百... 纸层析法为什么能分离红墨水和蓝墨水啊,红墨水和蓝墨水都是混合物啊... 为什么纸层析法中滤纸条一端剪去两个角 关于没有兄弟的句子 包粽子用什么肉 韵达快递总公司电话,电话号码打不通,是不是已经拉为黑名单了? 被韵达快递拉黑所有快递公司都进不了吗? 葫芦斗用歇斗吗 ...和MINE YOURS HERS OURS THEIRS HIS有什么区别和规律 液晶电视和投影谁更好 投影机好还是液晶电视机好 2023年还要不要买电视?激光电视、液晶电视、投影仪有什么区别,哪个更值 ...