您的位置:首页 - 教程 - ASP.NET - 正文
根据网址把图片下载到服务器C#代码
根据网址把图片下载到服务器C#代码



ASPX页面代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetPictureByUrl.aspx.cs" Inherits="HoverTreeMobile.GetPictureByUrl" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>根据网址把图片下载到服务器 - 何问起</title>
</head>
<body>
<form id="form1" runat="server">
<div>
图片网址:<br /><asp:TextBox runat="server" ID="textBoxImgUrl" Width="500" Text="http://hovertree.com/hvtimg/201508/cnvkv745.jpg" />
<br /> <asp:Button runat="server" ID="btnImg" Text="下载" OnClick="btnImg_Click" />
<br /><asp:Image runat="server" ID="hvtImg" />
<br />
<asp:Literal runat="server" ID="ltlTips" />
</div>
</form>
</body>
</html>

cs页面代码:
using System;

namespace HoverTreeMobile
{
public partial class GetPictureByUrl : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void btnImg_Click(object sender, EventArgs e)
{
try
{
System.Net.WebClient m_hvtWebClient = new System.Net.WebClient();


//如果不是指定格式图片
//例如http://hovertree.com/hvtart/bjae/t2lo8pf7.htm 是htm文件,不是图片
if (!(textBoxImgUrl.Text.EndsWith(".jpg")
|| textBoxImgUrl.Text.EndsWith(".gif")
|| textBoxImgUrl.Text.EndsWith(".png")))
{
ltlTips.Text = "输入的不是指定格式的图片的网址";

return;
}

//生成随机的图片文件名
string m_picFileName = HoverTree.HoverTreeFrame.Utils.GetHoverTreeString()+ HoverTree.HoverTreeFrame.HoverString.GetLastStr(textBoxImgUrl.Text,4);

string m_keleyiPicture = Server.MapPath("/hovertreeimages/"+ m_picFileName);
//根据网址下载文件
m_hvtWebClient.DownloadFile(textBoxImgUrl.Text, m_keleyiPicture);

hvtImg.ImageUrl = "/hovertreeimages/" + m_picFileName;
ltlTips.Text = string.Empty;
}
catch(Exception ex)
{
ltlTips.Text = ex.ToString();
}
}
}
}



HoverTree 开源项目

新增根据网址把图片下载到服务器功能

请看 HoverTreeMobile 项目

http://hovertree.com

何问起

源代码下载 http://files.cnblogs.com/files/jihua/hovertreeCode.rar


附部分源码:
namespace HoverTree.HoverTreeFrame
{
public class HoverString
{
#region 获取后几位数 public string GetLastStr(string str,int num)
/// <summary>
/// 获取后几位数
/// </summary>
/// <param name="str">要截取的字符串</param>
/// <param name="num">返回的具体位数</param>
/// <returns>返回结果的字符串</returns>
public static string GetLastStr(string str, int num)
{
int count = 0;
if (str.Length > num)
{
count = str.Length - num;
str = str.Substring(count, num);
}
return str;
}
#endregion
}
}

评论: