You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
74 lines
2.6 KiB
74 lines
2.6 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Drawing.Imaging;
|
|
using System.IO;
|
|
using System.Net.Http;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace ShenTun.ImageCollection.Common
|
|
{
|
|
public class ApiService
|
|
{
|
|
private readonly HttpClient _httpClient;
|
|
|
|
public ApiService()
|
|
{
|
|
_httpClient = new HttpClient();
|
|
}
|
|
|
|
public async Task<string> PostAsync(string url, string token, object data)
|
|
{
|
|
_httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", token);
|
|
var jsonStr=Newtonsoft.Json.JsonConvert.SerializeObject(data);
|
|
var content = new StringContent(jsonStr, Encoding.UTF8, "application/json");
|
|
|
|
var response = await _httpClient.PostAsync(url, content);
|
|
var responseContent = await response.Content.ReadAsStringAsync();
|
|
|
|
return responseContent;
|
|
}
|
|
|
|
public string GetUploadApi(string website)
|
|
{
|
|
Uri uri = new Uri(website);
|
|
Uri uri2 = new Uri(uri, "api/app/RegisterCheckPicture/UpdateRegisterCheckPicture");
|
|
return uri2.ToString();
|
|
}
|
|
|
|
public async Task UploadImage(MemoryStream stream,SelectImageInfo imageInfo)
|
|
{
|
|
int iPosS=imageInfo.Image.localPathName.LastIndexOf(".");
|
|
int iPos = imageInfo.Image.localPathName.LastIndexOf("\\");
|
|
string localFilename = imageInfo.Image.localPathName.Substring(iPos + 1, iPosS-iPos-1);
|
|
byte[] imageBytes = stream.ToArray();
|
|
|
|
PictureBaseStr baseStr = new PictureBaseStr()
|
|
{
|
|
registerCheckPictureId = imageInfo.Image.id,
|
|
localPathName = imageInfo.Image.localPathName,
|
|
fileName = localFilename,
|
|
pictureBaseStr = Convert.ToBase64String(imageBytes)
|
|
};
|
|
|
|
string url = GetUploadApi(imageInfo.ImageSvr);
|
|
var resStr = await PostAsync(url, imageInfo.Token, baseStr);
|
|
if(resStr.Contains("<!DOCTYPE html>"))
|
|
{
|
|
MessageBox.Show("Token验证没通过");
|
|
return;
|
|
}
|
|
DialogResponse res=JsonHelper.DeserializeObject<DialogResponse>(resStr);
|
|
if (res.code >=0)
|
|
{
|
|
MessageBox.Show(string.Format("文件:{0}上传成功!", localFilename));
|
|
}
|
|
else
|
|
{
|
|
MessageBox.Show(string.Format("文件:{0}上传失败:{1}", localFilename,res.message));
|
|
}
|
|
}
|
|
}
|
|
}
|