码迷,mamicode.com
首页 > Windows程序 > 详细

使用TinyPNG提供的API,对图片进行压缩(C#)

时间:2017-01-28 18:11:32      阅读:2324      评论:0      收藏:0      [点我收藏+]

标签:ring   exists   files   api   read   ini   download   tle   try   

项目需要,经常需要手动压缩图片,流程太过麻烦,效率低下。所以写了一个小程序,以提高工作效率
  1. using System;
  2. using System.Net;
  3. using System.Text;
  4. using System.IO;
  5. class Program
  6. {
  7. static void Main()
  8. {
  9. Console.WriteLine("请输入TinyPng.com的API KEY,获取地址:https://tinypng.com/developers");
  10. string key = Console.ReadLine();
  11. if (!System.IO.Directory.Exists("NewImg"))
  12. {
  13. System.IO.Directory.CreateDirectory("NewImg");
  14. Console.WriteLine("已创建NewImg目录,请把需要处理的图片放到该目录下");
  15. Console.ReadKey(true);
  16. return;
  17. }
  18. if (!System.IO.Directory.Exists("CompressedImg")){
  19. System.IO.Directory.CreateDirectory("CompressedImg");
  20. }
  21. string url = "https://api.tinify.com/shrink";
  22. string[] fileStrs = System.IO.Directory.GetFiles("NewImg");
  23. Console.WriteLine("共" + fileStrs.Length + "个文件,请等待下载完成...");
  24. int num = 0;
  25. foreach (string s in fileStrs)
  26. {
  27. System.IO.FileInfo info = new System.IO.FileInfo(s);
  28. if (info.Extension == ".png" || info.Extension == ".jpg")
  29. {
  30. string input = @"NewImg/" + info.Name;
  31. string output = @"CompressedImg/" + info.Name;
  32. GetCompressImg(url, key, input, output);
  33. num++;
  34. }
  35. }
  36. Console.WriteLine("文件已下载到CompressedImg文件夹下,共" + num + "个文件");
  37. Console.ReadKey(true);
  38. }
  39. static public void GetCompressImg(string url,string key,string input,string output){
  40. WebClient client = new WebClient();
  41. string auth = Convert.ToBase64String(Encoding.UTF8.GetBytes("api:" + key));
  42. client.Headers.Add(HttpRequestHeader.Authorization, "Basic " + auth);
  43. try
  44. {
  45. client.UploadData(url, File.ReadAllBytes(input));
  46. client.DownloadFile(client.ResponseHeaders["Location"], output);
  47. }
  48. catch (WebException)
  49. {
  50. Console.WriteLine("网络请求失败:" + input);
  51. }
  52. }
  53. }





使用TinyPNG提供的API,对图片进行压缩(C#)

标签:ring   exists   files   api   read   ini   download   tle   try   

原文地址:http://www.cnblogs.com/xiejunzhao/p/c4e38db51d593f3f6e49bfb0e5421e25.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!