场景
需要一个修改头像的功能,
- 第一种,直接选择文件上传即可
- 第二种,选择文件后进行裁剪再上传
选择图片文件
这是第一种,直接选择文件进行上传
using Windows.Web.Http;
var filePicker = new FileOpenPicker
{
ViewMode = PickerViewMode.Thumbnail,
SuggestedStartLocation = PickerLocationId.PicturesLibrary,
FileTypeFilter =
{
".png", ".jpg", ".jpeg"
}
};
var file = await filePicker.PickSingleFileAsync();
var stream = new HttpStreamContent(await file.OpenReadAsync());
开始上传
这里是进行具体上传的地方
using Windows.Web.Http;
var httpClient = new HttpClient();
var form = new HttpMultipartFormDataContent();
form.Add(stream, "file", "avatar.png");
await httpClient.PostAsync(new Uri(), form);
file
为POST表单中文件的键
avatar.png
为文件名
注意:
- 使用了
HttpMultipartFormDataContent
就不要设置 请求头中Content-Type
,不然服务器端无法解析表单内容
处理图片并进行上传
这是使用 Microsoft.Toolkit.Uwp.UI.Controls
里面的裁剪控件 ImageCropper
using Microsoft.Toolkit.Uwp.UI.Controls;
using Windows.Web.Http;
using Windows.Storage.Streams;
var inputStream = new InMemoryRandomAccessStream();
await ImageCropper.SaveAsync(stream, BitmapFileFormat.Png);
var stream = new HttpStreamContent(inputStream);
转载请保留原文链接: https://zodream.cn/blog/id/112.html