请各位爸爸帮忙,修改一下代码,关于图片上传的,谢谢!
if (simage.PostedFile.FileName == ""||simage.FileContent.Length>1024*150)
{
Upload_info.Text = "文件不能为空,并且不能超过150K";
}
else
{
string filepath = simage.PostedFile.FileName; //asp:FileUpload id=simage
string filename = filepath.Substring(filepath.LastIndexOf("\\") + 1);
string serverpath = Server.MapPath("~/Uploadimage/") + filename;
simage.PostedFile.SaveAs(serverpath);
}
如何在 这段代码的基础上,加上判断是不是图片 ,而且只能上传JPG,PNG,BMP。格式的,
本人实在太菜了,网上的复制过来 ,改来改去就是报错。自己写了一个下面的不知道怎么写了
伸手党确实不大好意思! 谢谢各位爸爸了!
2种办法:
1、客户端 判断
var exts = "jpg
[解决办法]
bmp
[解决办法]
png", paths = "
[解决办法]
";
function CheckPreview() {
var value = this.file.value, check = true;
if (!value) {
check = false; alert("请至少添加一张图片再上传!");
} else if (!RegExp("\.(?:" + exts + ")$$", "i").test(value)) {
check = false; alert("只能上传 *." + exts + " 文件!");
} else if (paths.indexOf("
[解决办法]
" + value + "
[解决办法]
") >= 0) {
check = false; alert("已经有相同文件!");
}
2、服务器端判断
if (this.FileUpload1.HasFile)
{
int MaxLength = 1024 * 1024;//最大为1M
string name = this.FileUpload1.FileName;//获取文件的名称如:zxy.doc zxy.gif
string type = name.Substring(name.LastIndexOf(".") + 1).ToLower();//获取文件的类型
if (this.FileUpload1.PostedFile.ContentLength > MaxLength)//限定上传大小为1MB
{
Response.Write("<script>alert('上传文件的大小超过了1MB的最大容量!请压缩后再上传!')</script>");
return;
}
if (type == "jpg"
[解决办法]
type == "bmp"
[解决办法]
type == "gif"
[解决办法]
type == "png"
[解决办法]
type=="txt")
{
string filepath = this.Server.MapPath(@".\img\") + name;
//string filepath = @"D:\123456\" + name;
if (!File.Exists(filepath))
{
this.FileUpload1.SaveAs(filepath);
Response.Write("上传成功");}
else
{
Response.Write("<script>alert('文件已存在,请重命名后再上传!')</script>");
return;
}
}
else
{
Response.Write("<script>alert('你选择的文件格式不符合要求!')</script>");
return;
}
}
else
{
Response.Write("<script>alert('请选择一个图片文件!')</script>");
return;
}
[解决办法]
string fname = FileUpload1.FileName.Trim.ToString;
int i= InStrRev(fname, ".");
String migstyle = Mid(fname, i + 1, 3).ToUpper;
if migstyle in(JPG,PNG,BMP)
{
}
也可以考虑用FileUpload1.PostedFile.ContentType 判断文件类型