gpt4 book ai didi

c# - 如何将 mp3 流/响应传递给 Controller ​​查看?

转载 作者:行者123 更新时间:2023-11-30 15:35:06 27 4
gpt4 key购买 nike

我正在开发 asp.net 应用程序,我正在从我的 View 中调用 Controller 操作。此 View 需要将 mp3 返回给调用的函数。 Actionresult 的类型是什么。被调用的函数返回 mp3 响应。如何将 api 返回的 mp3 响应保存在内存中并返回查看?

这是我的 Controller 方法代码:

 public ActionResult getrecording()
{
byte[] file = new byte[100]; // Convert.ToByte("https://api.abc.com/api/v2/GetRecording?access_token=dfsdfsdfsdfsdfsdfsdfsdfsfsfdsf");


//return (new FileStreamResult(fileStream, "audio/mpeg"));
////return (new FileContentResult(data, "audio/mpeg"));
}

这是查看代码

 $("#jquery_jplayer_1").jPlayer({
ready: function (event) {
$(this).jPlayer("setMedia", {
mp3: "/recording/getrecording"
});
},
swfPath: "../../Content/JPlayer/js",
supplied: "mp3",
wmode: "window",
size: 100,
duration: "#duration"
});

最佳答案

您可以使用 WebClient 下载远程文件,然后将其流式传输到响应:

public ActionResult getrecording()
{
var client = new WebClient();
var stream = client.OpenRead("https://api.abc.com/api/v2/GetRecording?access_token=dfsdfsdfsdfsdfsdfsdfsdfsfsfdsf");
return File(stream, "audio/mpeg");
}

如果您希望提示客户端下载文件,只需添加一个名称:

public ActionResult getrecording()
{
var client = new WebClient();
var stream = client.OpenRead("https://api.abc.com/api/v2/GetRecording?access_token=dfsdfsdfsdfsdfsdfsdfsdfsfsfdsf");
return File(stream, "audio/mpeg", "foo.mp3");
}

关于c# - 如何将 mp3 流/响应传递给 Controller ​​查看?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15409523/

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