如何用vs2003中自带的html控件File Filed ,在浏览中选完地址后是绝对路径。我不想显示绝对路径,只要上传的文件名称。并且从数据库中读取文件名称的时候能够在File Filed控件中显示出来。怎么做啊?最好有代码,谢拉(不要问我为什么不用vs2005,公司要求)/**/
///'遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files; /**/
/// '状态信息
System.Text.StringBuilder sb = new System.Text.StringBuilder();
try
{
for (int iFile = 0; iFile < files.Count; iFile++)
{
///'检查文件扩展名字
HttpPostedFile postedFile = files[iFile];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName);
///'可根据扩展名字的不同保存到不同的文件夹
///注意:可能要修改你的文件夹的匿名写入权限。
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("SoftwarePics/") + fileName);
sb.Append(fileName);//这里只拼文件名
}
}
}
catch (System.Exception ex)
{
return false;
}
///'遍历File表单元素
HttpFileCollection files = HttpContext.Current.Request.Files; /**/
/// '状态信息
System.Text.StringBuilder sb = new System.Text.StringBuilder();
try
{
for (int iFile = 0; iFile < files.Count; iFile++)
{
///'检查文件扩展名字
HttpPostedFile postedFile = files[iFile];
string fileName, fileExtension;
fileName = System.IO.Path.GetFileName(postedFile.FileName);
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName);
///'可根据扩展名字的不同保存到不同的文件夹
///注意:可能要修改你的文件夹的匿名写入权限。
postedFile.SaveAs(System.Web.HttpContext.Current.Request.MapPath("SoftwarePics/") + fileName);
sb.Append(fileName);//这里只拼文件名
}
}
}
catch (System.Exception ex)
{
return false;
}
解决方案 »
- asp.net2.0与asp.net1.0 区别?急用!!!
- VS2010版面
- getJSon传的对象aspx页面怎么获取对象或者数组
- 静态页面放到vs里面发生怪事
- 这句SQL语句写对了吗?
- 在vs2003下面如何编辑和引用控件?(简单)
- 有关DataGrid 的模板列!急!急!急!急!急!急!急!急!急!急!!!!!!!!!!!!!!!!!!!!!
- 如何刷新父页面?
- GridView分页跳转值获取不到
- 求救:为什么我使用File.PostedFile.SaveAs()上传size文件会出错啊??
- IIS 安装问题 Server Application Error
- VS2008环境编写的系统在Windows2000上点击某个画面超慢,不知为何?
在浏览中选完地址后是绝对路径。我不想显示绝对路径,只要上传的文件名称
--------------
那你就只能对这个控件进行重写,简单一点的,就是用一个textbox覆盖这个控件然后选择完之后在这个textbox中只显示名字
利用SqlDataReader读取信息出错。如下:
异常详细信息: System.NotSupportedException: HtmlInputFile 的值属性是不可设置的。
行 91:this.InputPictureFile.Value=dr.GetValue(14)+"";
上传控件的值不能改。
LZ换个思路吧。
===========================
脚本是不能修改<input type="file"> 这个东西的value的,也就是说你不能通过脚本去修改里边的路径,只能通过用户选择
如果脚本可以修改里边的路径.那就没有什么安全性可言了我想不出你为什么有这种需求,如果你要上传本地的文件,那里选的就是一个绝对路径(也可以是unc路径),只有这样服务器端才可以得到上传的文件流.至于你说"从数据库中读取文件名称的时候能在file中显示" 这个你可以变通一下,把读出来的信息显示在一个textbox中.想显示在File中是不可能的.
因为你不能对他进行修改
<input id="File1" type="file" style="display:none" /><input type="text" name="fileLocation" id="fileLocation" onchange="textChange()" />
<input id="btnBrowse" type="button" value="Browse" onclick="File1.click();fileLocation.value=File1.value"/>
把File隐藏起来(style="display:none"),然后自己放一个按钮和一个文本框做个伪装,File的value是不能修改的,但是可以读出来.
你把File1的value读出来,然后处理一下,把你想要的路径显示在文本框中.但实际你上传的还是那个绝对路径所对应的文件