gpt4 book ai didi

C# 从 ObjectResult 到字符串(或获取值)

转载 作者:太空宇宙 更新时间:2023-11-03 20:53:51 26 4
gpt4 key购买 nike

我正在使用 IActionResult(任务)上传文件,并在我的 Controller 中引用它。我要取回的是文件名。

Controller ->

        var imageLocation = await _imageHandler.UploadImage(image);

图像处理器 ->

    public async Task<IActionResult> UploadImage(IFormFile file)
{
var result = await _imageWriter.UploadImage(file);

return new ObjectResult(result);
}

我的值存储在 imageLocation 中,但我不知道如何访问它(我需要“值”字符串以便将它添加到数据库中)。

enter image description here

我尝试搜索所有内容,但每个人都在使用列表。我这里只需要一个字符串。希望你们能帮助我。谢谢!

最佳答案

您可以将结果转换为所需的类型并调用属性

Controller

var imageLocation = await _imageHandler.UploadImage(image);
var objectResult = imageLocation as ObjectResult;
var value = objectReult.Value;

或者只是重构 ImageHandler.UploadImage 函数以返回实际类型以避免强制转换

public async Task<ObjectResult> UploadImage(IFormFile file) {
var result = await _imageWriter.UploadImage(file);
return new ObjectResult(result);
}

并在 Controller 中获取预期的值

var imageLocation = await _imageHandler.UploadImage(image);
var value = imageLocation.Value;

更好的是,让函数只返回所需的值

public Task<string> UploadImage(IFormFile file) {
return _imageWriter.UploadImage(file);
}

这样您就可以在 Controller 中调用函数时得到预期的结果。

string imageLocation = await _imageHandler.UploadImage(image);

关于C# 从 ObjectResult 到字符串(或获取值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52588847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com