我使用以下代码保存图片
ParseFile file = null;
if (ProfileImage != null && ProfileImage.ContentLength > 0 && !string.IsNullOrEmpty(ProfileImage.FileName))
{
byte[] fileBytes = new byte[ProfileImage.ContentLength];
file = new ParseFile(ProfileImage.FileName, fileBytes);
await file.SaveAsync();
var player = new ParseObject("Player");
if(file != null)
{
player["ProfilePic"] = file;
}
await player.SaveAsync();
}
我试图检索图像,以便使用以下代码显示
ParseObject player = Task.Run(() =>
ParseObject.GetQuery("Player").WhereEqualTo("objectId", id).FirstOrDefaultAsync()).Result;
ParseFile profileImage = null;
string profileImageUrl = "";
if (player.ContainsKey("ProfilePic"))
{
profileImage = player.Get<ParseFile>("ProfilePic");
profileImageUrl = profileImage.Url.AbsoluteUri;
}
profileImageUrl有一个正确的网址,例如http://files.parsetfss.com/c8db8833-b04b-4877-8040-b70df1ec216c/tfss-11c442f3-6146-4316-a6c0-7c9a063d897e-Koala.jpg
然而,图像总是被打破。我试图使用html标签显示图像,图像总是坏了。
答案 0 :(得分:2)
您的示例图像包含762Kb的零字节。我无法在你的保存方法中真正看到你实际上将内容放入数组中。
byte[] fileBytes = new byte[ProfileImage.ContentLength];
file = new ParseFile(ProfileImage.FileName, fileBytes);
await file.SaveAsync();
上面的代码创建了一个长x字节的空数组,然后保存它。你应该以某种方式将图片字节放在那里。我无法从您的代码中判断出ProfileImage对象的类型,但我想您可以从该对象获取内容字节。