关于上传文件的验证和设置的问题,请各位易做图帮帮忙哦,谢谢,看如何修改比较好哦
例如:后台代码:
①数据验证部分
string extension = System.IO.Path.GetExtension(myFileUpload.FileName);
string strFileNewName = IllustrationId.Text + ".pdf";
string path = HttpContext.Current.Server.MapPath(Constant.strPDFUploadFilePath + this.IllustrationId.Text + ".pdf");
if (!File.Exists(path))//文件不存在本地文件夹
{
if (!(myFileUpload.HasFile)) //浏览框也为空时
{
ErrorMsg += (this.LabelmyFileUpload.Text = "檔案不能为空!");
}
else
{
if (extension != ".pdf" && extension != ".PDF")
{
ErrorMsg += (this.LabelmyFileUpload.Text = "系统只能接受PDF格式的文件!");
}
else if (myFileUpload.PostedFile.ContentLength > 20 * 1024 * 1024)//文件限制20MB
{
ErrorMsg += (this.LabelmyFileUpload.Text = "檔案上傳限制20MB!");
}
else
{
//myFileUpload.SaveAs(path);
this.LabelmyFileUpload.Text = "";
}
}
}
else //文件存在本地文件夹
{
if (!(myFileUpload.HasFile)) //浏览框为空时
{
//这部分是想要实现文件存在本地文件夹时,浏览框也没上传新的文件时,还是默认保存原来存在本地文件夹的文件,而不保存空的浏览框。。。或者跳过这个浏览框不保存,只保存以上有改动的信息,不懂怎么写比较好哦 }
else //实现浏览框有重新上传新的文件时的验证,验证通过即保存(浏览框不为空时)
{
if (extension != ".pdf" && extension != ".PDF")
{
ErrorMsg += (this.LabelmyFileUpload.Text = "系统只能接受PDF格式的文件!");
}
else if (myFileUpload.PostedFile.ContentLength > 20 * 1024 * 1024)//文件限制20MB
{
ErrorMsg += (this.LabelmyFileUpload.Text = "檔案上傳限制20MB!");
}
else
{
//myFileUpload.SaveAs(path);
this.LabelmyFileUpload.Text = "";
}
}
}
② //// 保存按鈕部分
if (illustrationbll.Update(illustmodel, updatemodel))
{
if (myFileUpload.PostedFile.ContentLength > 0 * 1024)
{
myFileUpload.SaveAs(Server.MapPath(Constant.strPDFUploadFilePath + strFileNewName));
MessageBox.ShowAndRedirect(this, "保存成功!", "IllustrationList.aspx");
}
else
{
MessageBox.ShowAndRedirect(this, "保存失敗!", "IllustrationList.aspx");
}
}
}
以上只是后来修改的代码,但是并不是我想要的效果,因为设置 (myFileUpload.PostedFile.ContentLength > 0 * 1024)
这个条件后只会提示“保存成功”,"保存失敗!", 并没有实现我想要的功能。
我想要的效果如下:
在asp.net中要实现修改“信息编号”、“信息名称”、“信息档案”(上传pdf文件,使用的是文件上传控件FileUpload)这三栏,可是当修改完信息保存后(信息档案没修改,还是保留原来存在本地的文件),要打开文件时,文件却变为了0KB,因为修改保存的时候,浏览框没重新上传文件,它就默认保存了空的浏览框,所以才显示0KB,各位易做图我要如何设置才能只保存有改动的信息就好,而不用保存没改动的信息(原来没改动的还是保留着原来的信息呢)
各位易做图帮帮忙哦。。谢谢 --------------------编程问答-------------------- --------------------编程问答-------------------- FileUpload控件是只读的,不能设置值的,
另外,你也不可能知道客户端的路径。
如果不需要上传,请不要放FileUpload控件 --------------------编程问答--------------------
需要啊,但是在修改页面的时候不一定会操作到上传啊,有上传才要文件保存上传的信息;我是想实现没上传时(也就是浏览框不存在任何可用路径时),不用保存那个浏览框的信息只保存以上信息编号、信息名称的信息就好,不然由于浏览框为空时保存后,那原本存在文件夹的文件也会变为0KB的。 --------------------编程问答-------------------- 再次给你说
FileUpload控件是只读的,不能预先设置值的,
文件也会变为0KB
说明文件不用上传,不要再进行保存了,明白吗?只有不是0KB的才是需要修改的文件
补充:.NET技术 , ASP.NET