如何用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;
}

解决方案 »

  1.   

    哪有什么File Filed控件啊,我找了半天没找到是HtmlInputFile控件吧?
    在浏览中选完地址后是绝对路径。我不想显示绝对路径,只要上传的文件名称
    --------------
    那你就只能对这个控件进行重写,简单一点的,就是用一个textbox覆盖这个控件然后选择完之后在这个textbox中只显示名字
      

  2.   

    是HtmlInputFile控件,但是vs2003中起的名字就是File Filed ,我也没办法
      

  3.   

    HtmlInputFile控件怎么读取出上传完之后的路径啊。
    利用SqlDataReader读取信息出错。如下:

    异常详细信息: System.NotSupportedException: HtmlInputFile 的值属性是不可设置的。
    行 91:this.InputPictureFile.Value=dr.GetValue(14)+"";
      

  4.   

    this.InputPictureFile.Value
    上传控件的值不能改。
    LZ换个思路吧。
      

  5.   

    读取文件名称的时候能够在File Filed控件中显示 是不可以做到的
      

  6.   

    是的,用一个textbox框来另外读取显示
      

  7.   

    在浏览中选完地址后是绝对路径。我不想显示绝对路径,只要上传的文件名称。并且从数据库中读取文件名称的时候能够在File Filed控件中显示出来。
    ===========================
    脚本是不能修改<input type="file"> 这个东西的value的,也就是说你不能通过脚本去修改里边的路径,只能通过用户选择
    如果脚本可以修改里边的路径.那就没有什么安全性可言了
    我想不出你为什么有这种需求,如果你要上传本地的文件,那里选的就是一个绝对路径(也可以是unc路径),只有这样服务器端才可以得到上传的文件流.至于你说"从数据库中读取文件名称的时候能在file中显示" 这个你可以变通一下,把读出来的信息显示在一个textbox中.想显示在File中是不可能的.
    因为你不能对他进行修改
      

  8.   

    给你个解决方案吧:
    <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读出来,然后处理一下,把你想要的路径显示在文本框中.但实际你上传的还是那个绝对路径所对应的文件
      

  9.   

    11楼代码你去掉onchange="textChange()" 那个没用.然后自己处理btnBrowse的onclick事件(js处理一下),在取File1.value时,把路径拆分成你想要的显示在fileLocation的text中即可