文件上传

文件上传:
一、将文件上传到指定路径
使用FileUpload控件,使用控件的SaveAs另存为方法,需
要绝对路径;

string path = "Uploads/aaa.txt";//文件的相对路径
string endPath = Server.MapPath(path);//将相对路径映射
成绝对路径
FileUpload1.SaveAs(endPath);

问题:
文件名重名,文件被覆盖javascript

优化1:
string path = "Uploads/" + FileUpload1.FileName;//
文件的相对路径
能够保留用户选择的文件名称

问题:
许多人都上传文件,确定会出现重名的状况,那
就被覆盖了java

优化2:
//拼接上传时间,上传用户名,上传文件全称,防止并发
重名问题
string name = DateTime.Now.ToString
("yyyyMMddhhmmss") + Request.Cookies["user"].Value +
FileUpload1.FileName;

问题:
用户可能会上传超过默认大小的文件,那么程序就会崩溃
,最大限制为4MB大小

优化3:
扩容、在Web.config配置文件里面添加如下一句话
<system.web>
<compilation debug="false" targetFramework="4.0" />
<httpRuntime maxRequestLength="40960"/>//增长这一句
,单位是KB
</system.web>

注意:扩容不要扩的太大,由于是占内存空间的;
做业:去网上搜一下C#大文件上传,断点续传

优化4:
增长超大验证,有客户端验证和服务端验证两种方式;

C#服务端验证:
//检查是否有选中文件
if (FileUpload1.HasFile)
{
//若是有选中文件,那么验证文件大小是否超过4MB
if (FileUpload1.PostedFile.ContentLength > (4
* 1024 * 1024))
{
Label1.Text =
FileUpload1.PostedFile.ContentLength.ToString();
}
}

JS客户端验证:
<script type="text/javascript">
window.onload = function () {
document.getElementById('Button1').onclick =
function () {
var fl1 = document.getElementById
('FileUpload1');
//判断是否有选中的文件
if (fl1.value.length <= 0) {
alert('请选择要上传的文件!');
return false;
}
else {
//验证大小是否超过限制
if (fl1.files[0].size > (4 * 1024 *
1024)) {
alert('文件超过4MB!');
return false;
}
}
};
};
</script>

优化5:
限制用户能选择的文件类型:
限制普通人,控件属性:accept=".jpg,.jpeg,.png";
限制奇葩:
//看看你选择的文件是否符合个人要求
if (fl1.value.substr(fl1.value.length - 4)
!= '.jpg' && fl1.value.substr(fl1.value.length - 4) !=
'.png' && fl1.value.substr(fl1.value.length - 5) !=
'.jpeg')
{
alert(fl1.value.substr
(fl1.value.length - 4));
return false;
}

优生活网站,新增产品,须要上传产品图片,一、将图片
传到服务器上来,二、将图片路径保存进数据库
//-----------上传图片-------------
//一、验证web

//二、将选中的文件上传到服务器指定文件夹上来
string path = "images/" + DateTime.Now.ToString
("yyyyMMddhhmmss") + FileUpload1.FileName;
FileUpload1.SaveAs(Server.MapPath(path));数据库

//三、将图片路径存到数据库
c.img = path;服务器

new chanpinData().Insert(c);




并发

相关文章
相关标签/搜索