HttpWebRequest 下载图片至本地 image 下载短视频

HttpWebRequest发送web请求,获取流文件,保存至本地

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web.Mvc;

namespace Web.Controllers
{
    public class HomeController : Controller
    {
        string url = "http://www.***.com/Image.aspx?ucode=ucode";

        public Stream GetFileToStream(string filePath)
        {
            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.Read);
            byte[] bytes = new byte[fileStream.Length];
            fileStream.Read(bytes, 0, bytes.Length);
            fileStream.Close();
            Stream streamFile = new MemoryStream(bytes);
            return streamFile;
        }

        public void Method1()
        {
            string fileName = @"\upload\" + GenerateTimeStamp() + ".jpg";

            string webPath = Server.MapPath(fileName);
            string pathName = @"d:\" + GenerateTimeStamp() + ".jpg";
            HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

            req.ServicePoint.Expect100Continue = false;
            req.Method = "GET";
            req.KeepAlive = true;

            req.ContentType = "image/png";
            HttpWebResponse rsp = (HttpWebResponse)req.GetResponse();

            //方式一:获取当前时间
            var lastModified = rsp.LastModified;

            System.IO.Stream stream = null;

            try
            {
                //以字符流的方式读取HTTP响应
                stream = rsp.GetResponseStream();
                System.Drawing.Image.FromStream(stream).Save(pathName);
            }
            finally
            {
                // 释放资源
                if (stream != null) stream.Close();
                if (rsp != null) rsp.Close();
            }
        }

        protected void Method2()
        {
            string fileName = @"\upload\" + GenerateTimeStamp() + ".jpg";

            string webPath = Server.MapPath(fileName);
            string pathName = @"d:\" + GenerateTimeStamp() + ".jpg";
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
            myRequest.Method = "GET";

            HttpWebResponse myResponse = null;
            try
            {
                myResponse = (HttpWebResponse)myRequest.GetResponse();
                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                Stream stream = myResponse.GetResponseStream();

                #region 保存下载图片

                MemoryStream ms = null;
                Byte[] buffer = new Byte[myResponse.ContentLength];
                int offset = 0, actuallyRead = 0;
                do
                {
                    actuallyRead = stream.Read(buffer, offset, buffer.Length - offset);
                    offset += actuallyRead;
                }
                while (actuallyRead > 0);
                ms = new MemoryStream(buffer);

                byte[] buffurPic = ms.ToArray();
                System.IO.File.WriteAllBytes(pathName, buffurPic);

                #endregion
            }
            //异常请求
            catch (WebException ex)
            {

            }
        }

        protected void Method3()
        {
            string fileName = @"\upload\" + GenerateTimeStamp() + ".jpg";

            string webPath = Server.MapPath(fileName);
            string pathName = @"d:\" + GenerateTimeStamp() + ".jpg";
            HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
            myRequest.Method = "GET";

            HttpWebResponse myResponse = null;
            try
            {
                myResponse = (HttpWebResponse)myRequest.GetResponse();
                StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
                Stream stream = myResponse.GetResponseStream();

                #region 保存下载图片

                FileStream fileStream = new FileStream(pathName, FileMode.Create, FileAccess.Write);
                byte[] bytes = new byte[1024];
                int readSize = 0;
                while ((readSize = stream.Read(bytes, 0, 1024)) > 0)
                {
                    fileStream.Write(bytes, 0, readSize);
                    fileStream.Flush();
                }
                #endregion

                myResponse.Close();
                stream.Close();
                fileStream.Close();
            }
            //异常请求
            catch (WebException ex)
            {

            }
            finally
            {

            }
        }

        public string GenerateTimeStamp()
        {
            TimeSpan ts = DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0);
            return Convert.ToInt64(ts.TotalMilliseconds).ToString();
        }
    }
}

*、下载短视频

public void DownVideo()
{
    string url = "http://v18.toutiaovod.com/5937ad1f9e50ff422b927f62b6188b11/63eb4214/video/tos/hxsy/tos-hxsy-ve-0015/a1b16da401e24addad7680d1b6646659/?a=13&ch=0&cr=0&dr=0&net=5&cd=0%7C0%7C0%7C0&cv=1&br=1561&bt=1561&cs=0&ds=3&ft=3acnkMFzjjM95MxrKqoZmC~OM2W8xopi93IdQYBMEeC&mime_type=video_mp4&qs=0&rc=ZmQ3O2doZGU1ODRoZ2gzOUBpam9oczx5OzQ3czMzZGkzM0AwYl9gXmJjXi8xXzEzY2MvYSNsZTFhci9fcGxfLS1fLS9zcw%3D%3D&l=20230214151050756AC02777CB2301683F&btag=88030";

    string pathName = @"D:\IIS\111.mp4";
    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
    myRequest.Method = "GET";

    HttpWebResponse myResponse = null;
    try
    {
        myResponse = (HttpWebResponse)myRequest.GetResponse();
        StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
        Stream stream = myResponse.GetResponseStream();

        #region 保存下载图片

        MemoryStream ms = null;
        Byte[] buffer = new Byte[myResponse.ContentLength];
        int offset = 0, actuallyRead = 0;
        do
        {
            actuallyRead = stream.Read(buffer, offset, buffer.Length - offset);
            offset += actuallyRead;
        }
        while (actuallyRead > 0);
        ms = new MemoryStream(buffer);

        byte[] buffurPic = ms.ToArray();
        System.IO.File.WriteAllBytes(pathName, buffurPic);

        #endregion
    }
    //异常请求
    catch (WebException ex)
    {

    }
}

*
*
*

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值