需求:前端传入一个json数据 接口解析数据,生成二维码并保存在本地
数据格式:{"二维码图片名称":"二维码内容(URL跳转地址)"}
public void SaveQRCode(dynamic data)
{
//第三方生成二维码接口 w宽度 h高度 &url=http://扫描后跳转的地址
string url = "https://pan.baidu.com/share/qrcode?w=150&h=150&url=http://";
JObject json = JObject.Parse(JsonConvert.SerializeObject(data));//转为json数据格式
var filePath = System.Web.Hosting.HostingEnvironment.MapPath("~/Data/");//保存的路径
if (!Directory.Exists(filePath))//如果没有改路径 则新建
{
Directory.CreateDirectory(filePath);
}
foreach (JToken child in json.Children())//遍历json
{
var property1 = child as JProperty;
string filepath = System.Web.Hosting.HostingEnvironment.MapPath("~/Data/"+property1.Name);//文件地址
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url+property1.Value);//发送http请求
HttpWebResponse webresponse = (HttpWebResponse)webrequest.GetResponse();//接受请求
if (webresponse.StatusCode == HttpStatusCode.OK)
{
System.Drawing.Image image = System.Drawing.Image.FromStream(webresponse.GetResponseStream());//把文件流保存为图片
image.Save(filepath); //保存在本地文件夹
image.Dispose(); //释放资源
}
}
}