如何使用ParseFile正确检索图像?

时间:2014-12-18 21:11:15

标签: c# .net asp.net-mvc parse-platform

我使用以下代码保存图片

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标签显示图像,图像总是坏了。

1 个答案:

答案 0 :(得分:2)

您的示例图像包含762Kb的零字节。我无法在你的保存方法中真正看到你实际上将内容放入数组中。

byte[] fileBytes = new byte[ProfileImage.ContentLength];
file = new ParseFile(ProfileImage.FileName, fileBytes);
await file.SaveAsync();

上面的代码创建了一个长x字节的空数组,然后保存它。你应该以某种方式将图片字节放在那里。我无法从您的代码中判断出ProfileImage对象的类型,但我想您可以从该对象获取内容字节。