只知道客户端图片路径,怎么把图片上传服务器上?asp.net实现
只是有图片的客户端路径,上传到服务上的asp.net代码哪位哥哥姐姐有这方面的经验,分享一下吧...
只是有图片的客户端路径,上传到服务上的asp.net代码
哪位哥哥姐姐有这方面的经验,分享一下吧 展开
哪位哥哥姐姐有这方面的经验,分享一下吧 展开
4个回答
展开全部
#region 上传图片方法
/// <summary>
/// 上传图片方法
/// </summary>
/// <param name="linkImg">FileUpload控件</param>
/// <param name="links">预览图片img的名字</param>
/// <param name="file">上传图片的路径</param>
/// <returns></returns>
public string AddImg(FileUpload linkImg, HtmlImage links, string file)
{
string img = "";
if (linkImg.HasFile)//检查是否有文件
{
string fullFileName = linkImg.PostedFile.FileName; //文件路径名
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + fullFileName.Substring(fullFileName.LastIndexOf("\\") + 1); //图片名称
string type = fullFileName.Substring(fullFileName.LastIndexOf(".") + 1); //图片格式
if (type == "jpg" || type == "JPG" || type == "gif" || type == "GIF" || type == "BMP" || type == "bmp" || type == "BNG" || type == "png") //判断是否为图片类型
{
string path = HttpContext.Current.Request.MapPath("~/" + file + "/");//获取上传文件的网站目录路径
linkImg.SaveAs(path + fileName);//存储文件到磁盘
if (links != null)
{
links.Src ="~/" + file + "/" + fileName;//显示图片
}
img ="~/"+ file + "/" + fileName;
}
else
{
HttpContext.Current.Response.Write("<script>alert('非图片类型,不允许上传!');</script>");
}
}
else
{
HttpContext.Current.Response.Write("<script>alert('必须指定文件!');</script>");
}
return img;
}
#endregion
/// <summary>
/// 添加Flash按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
Flashs flash = new Flashs();
flash.FName = LinkURL.Text.Trim().ToString();
string url = this.AddImg(ImgURL, pic, "upload");
flash.FUrl = url;
int result = FlashManager.AddFlash(flash);
if (result > 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加成功!');</script>");
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加失败!');</script>");
}
}
这些都是从项目里面拷贝出来的,可以直接使用的。有什么问题,再找糊涂。
/// <summary>
/// 上传图片方法
/// </summary>
/// <param name="linkImg">FileUpload控件</param>
/// <param name="links">预览图片img的名字</param>
/// <param name="file">上传图片的路径</param>
/// <returns></returns>
public string AddImg(FileUpload linkImg, HtmlImage links, string file)
{
string img = "";
if (linkImg.HasFile)//检查是否有文件
{
string fullFileName = linkImg.PostedFile.FileName; //文件路径名
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + fullFileName.Substring(fullFileName.LastIndexOf("\\") + 1); //图片名称
string type = fullFileName.Substring(fullFileName.LastIndexOf(".") + 1); //图片格式
if (type == "jpg" || type == "JPG" || type == "gif" || type == "GIF" || type == "BMP" || type == "bmp" || type == "BNG" || type == "png") //判断是否为图片类型
{
string path = HttpContext.Current.Request.MapPath("~/" + file + "/");//获取上传文件的网站目录路径
linkImg.SaveAs(path + fileName);//存储文件到磁盘
if (links != null)
{
links.Src ="~/" + file + "/" + fileName;//显示图片
}
img ="~/"+ file + "/" + fileName;
}
else
{
HttpContext.Current.Response.Write("<script>alert('非图片类型,不允许上传!');</script>");
}
}
else
{
HttpContext.Current.Response.Write("<script>alert('必须指定文件!');</script>");
}
return img;
}
#endregion
/// <summary>
/// 添加Flash按钮事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
Flashs flash = new Flashs();
flash.FName = LinkURL.Text.Trim().ToString();
string url = this.AddImg(ImgURL, pic, "upload");
flash.FUrl = url;
int result = FlashManager.AddFlash(flash);
if (result > 0)
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加成功!');</script>");
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('添加失败!');</script>");
}
}
这些都是从项目里面拷贝出来的,可以直接使用的。有什么问题,再找糊涂。
展开全部
呵呵 没有楼上那么复杂吧!
你直接就在页面上发个input
如:<input type="file" id="txtFile" runat="server" /> <asp:button id="btn" runat="server" text="选择文件后上传" onclick="btn_Click"></asp:button>
上边是前台代码,选择文件用的
btn_Click是后台代码,上传文件用的
protected void btn_Click(object sender, EventArgs e)
{
string path = Request.MapPath("~/file/")+;//服务器保存文件的路径
string oldfileName = System.IO.Path.GetFileName(txt.PostedFile.FileName);//文件名称
txt.PostedFile.SaveAs(path+oldfileName);//存储文件到磁盘
}
你直接就在页面上发个input
如:<input type="file" id="txtFile" runat="server" /> <asp:button id="btn" runat="server" text="选择文件后上传" onclick="btn_Click"></asp:button>
上边是前台代码,选择文件用的
btn_Click是后台代码,上传文件用的
protected void btn_Click(object sender, EventArgs e)
{
string path = Request.MapPath("~/file/")+;//服务器保存文件的路径
string oldfileName = System.IO.Path.GetFileName(txt.PostedFile.FileName);//文件名称
txt.PostedFile.SaveAs(path+oldfileName);//存储文件到磁盘
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果只知道客户端的图片地址的话,需要使用JS去做很多事情了,因为服务器无法访问到客户端的东西,只有JS是在客户端使用的,大致的思路就是这样,不过不知道JS是否能够读取到客户端的文件,毕竟现在对隐私权的注重,你就算是干好事,也会被操作系统挡在外面的。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用文件流上传
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询