本文讲述的是根据一个图片的url地址,保存图片到asp.net服务器端的实现方法。
可以先了解这篇文章http://keleyi.com/a/bjac/0899dpgi.htm,以更好的理解本文。
首先把TestWeb项目的默认命名空间改成:KeleyiTestWeb
修改方法看这里:http://keleyi.com/a/bjac/r2bb65ck.htm
然后建立GetImage.aspx页面,代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetImage.aspx.cs" Inherits="KeleyiTestWeb.KImage.GetImage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>asp.net保存网上图片到服务器-KWS</title>
</head>
<body>
<form id="form1" runat="server">
<div>
要获取的图片的网址:<asp:TextBox runat="server" ID="tbPicUrl" Text="http://keleyi.com/image/a/ipkvp9eq.jpg" Width="300" />
<asp:Button Text="保存" runat="server" ID="btnSave" onclick="btnSave_Click" /><br /> 获取成功后在保存到服务器的同时将会显示在下面
<br /><asp:Literal runat="server" ID="ltlTips" />
<br /><asp:Image runat="server" ID="imgDownload" />
</div>
</form>
<div>本例子请参考:<a href="http://keleyi.com/a/bjac/4yiwpvt0.htm" target="_blank">http://keleyi.com/a/bjac/qwcsgskp.htm</a> </div>
</body>
</html>
GetImage.aspx.cs的代码如下:
/*
参考:http://keleyi.com/a/bjac/qwcsgskp.htm
*/
using System;
using Keleyi.KFrame.KImage; namespace KeleyiTestWeb.KImage
{
public partial class GetImage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } protected void btnSave_Click(object sender, EventArgs e)
{
string m_fileName = DateTime.Now.ToFileTime().ToString() + ".jpg";
string m_saveName = "download/" + m_fileName;
string m_savePath = Server.MapPath(m_saveName); if (KeleyiImgDownloader.DownloadPicture(tbPicUrl.Text, m_savePath, -))
{
ltlTips.Text = "获取成功";
imgDownload.ImageUrl = m_saveName;
}
else
ltlTips.Text = "获取失败";
}
}
}
这里用到类KeleyiImgDownloader,在KFrame项目中建立,代码请下载项目的源代码(网址:https://kws.codeplex.com/SourceControl/changeset/610506bb3ab2b79ebf0d797c0f15939636ff76b3)。或者点击这里。
运行,输入图片网址,点击"保存"按钮,成功,效果图如下:
查看页面的源代码,看图片的src属性:
<img id="imgDownload" src="download/130308237880937500.jpg" />
说明页面上显示的图片是程序所在的服务器里的。