我正在使用下一个代码:
try
{
await Share.RequestAsync(new ShareFileRequest
{
Title = filename,
File = new ShareFile(filename),
PresentationSourceBounds = new System.Drawing.Rectangle(0, 0, 1, 1)
});
}
catch (Exception)
{
}现在我正在尝试共享不同的文件类型。ASCII和二进制文件可以在没有任何问题的情况下共享,但是当我试图共享视频文件时,例如/var/mobile/Containers/Data/Application/xxxxx/Library/Caches/app_2022_06_14_17_58_13.mp4、Dropbox显示消息Couldn't load file. Sorry, an error occured,其他目的地(比如Save to files )不会显示错误,但是文件不会被写入。
我尝试用File = new ShareFile(filename, "video/mp4"),指定文件媒体类型,或者使用库资产文件(如assets-library://asset/asset.mp4?id=xxxxx&ext=mp4 ),但这没有帮助。
我使用的是Xamarin.Essentials 1.7.3,iOS版本是15.5
有什么理由?提前谢谢你。
发布于 2022-06-17 06:36:49
您需要设置PresentationSourceBounds correctly.In my场景,我将mp4文件放在参考资料folder.Please中,请参阅我的示例代码以供参考:
使用Xamarin.Essentials 1.7.0,iOS版本为15.5
private async void Button_Clicked(object sender, EventArgs e)
{
var fn = "sample-5s.mp4";
var bounds = ((Button)sender).Bounds;
await Share.RequestAsync(new ShareFileRequest
{
Title = "My title",
File = new ShareFile(fn, "video/mp4"),
PresentationSourceBounds = new System.Drawing.Rectangle((int)bounds.X, (int)bounds.Y, (int)bounds.Width, (int)bounds.Height)
});
}https://stackoverflow.com/questions/72630124
复制相似问题