问题描述
我要存入附件的绝对路径aspx<tdclass="style2"><asp:FileUploadID="fileImg"runat="server"/></td>
csstringimg=fileImg.PostedFile.FileName;FileInfofile=newFileInfo(img);stringstrconn=ConfigurationSettings.AppSettings["connstring"];SqlConnectionconn=newSqlConnection(strconn);stringuserid=Session["userid"].ToString();GuidGuserid=newGuid(userid);SqlCommandcm=newSqlCommand("aa_",conn);cm.CommandType=CommandType.StoredProcedure;cm.Parameters.Add("@img",SqlDbType.VarChar,50,img).Value=file;cm.Parameters.Add("@userid",SqlDbType.UniqueIdentifier).Value=Guserid;try{inti=cm.ExecuteNonQuery();if(i>0){Response.Write("<scriptlanguage=javascript>alert('成功')</script>");}redirect();}
错误信息将参数值从FileInfo转换到String失败。
解决方案
解决方案二:
stringimg=fileImg.PostedFile.FileName;在这里你要把fileImg.PostedFile.Save()保存到服务器再操作FileInfofile=newFileInfo(img);
解决方案三:
stringimg=Server.MapPath(".")+"/"+System.IO.Path.GetFileName(fileImg.FileName);cm.Parameters.Add("@img",SqlDbType.VarChar,50,img).Value=img;这样只存了第一个字母亲,真不知怎么弄
解决方案四:
这样能保存附件了,但是传到数据库只能得到盘符,如:d:a1.jpg数据库只存了d,我想存成http://www.aa.com/a/1.jpgstringimg=Server.MapPath(".")+"/"+System.IO.Path.GetFileName(fileImg.FileName);fileImg.SaveAs(img);stringstrconn=ConfigurationSettings.AppSettings["connstring"];SqlConnectionconn=newSqlConnection(strconn);stringuserid=Session["userid"].ToString();GuidGuserid=newGuid(userid);SqlCommandcm=newSqlCommand("aa_",conn);cm.CommandType=CommandType.StoredProcedure;cm.Parameters.Add("@img",SqlDbType.VarChar,50,img).Value=img;cm.Parameters.Add("@userid",SqlDbType.UniqueIdentifier).Value=Guserid;try{inti=cm.ExecuteNonQuery();if(i>0){Response.Write("<scriptlanguage=javascript>alert('成功')</script>");}redirect();}
解决方案五:
支持下
解决方案六:
继续请帮忙
解决方案七:
Up
解决方案八:
Request.Url.Host··获取主机头,再进行拼接
解决方案九:
引用7楼SATAN1122的回复:
Request.Url.Host··获取主机头,再进行拼接
能说细点么?