вот вызов ...Почему этот код отправляет 0kb-файлы в браузер?
return new FileUriResult("application/octet-stream", a.AssetPath, null);
[обратите внимание, что я установил длину содержимого обнулить, потому что я не знаю его (файл находится на другом сервере)]
a.AssetPath является: " http://http.cdnlayer.com/account имя/папка/папка/папка/asset.mp3"
(поддельный URL для этого примера, но в моей реализации я могу просмотреть файл непосредственно, однако этот способ крепления не работает)
здесь реализация ...
public class FileUriResult : ActionResult
{
private string _contentType;
private string _fileUri;
private long? _fileLength;
public FileUriResult(string contentType, string fileUri, long? fileLength)
{
_contentType = contentType;
_fileUri = fileUri;
_fileLength = fileLength;
}
public override void ExecuteResult(ControllerContext context)
{
if (context == null)
{
throw new ArgumentNullException("context");
}
HttpResponseBase response = context.HttpContext.Response;
response.ContentType = _contentType;
response.AddHeader("Content-Disposition", "attachment; filename=" + _fileUri);
if(_fileLength != null)
response.AddHeader("Content-Length", _fileLength.ToString());
}
}
Файл быть непосредственно загружен так же, как я хочу (не открывается в браузере), однако это не файл, это просто 0kb файл с таким же именем.
Я не знаю MVC, но мой здравый смысл говорит, что вам, вероятно, нужно добавить содержимое файла в ответ, иначе он просто отправит информацию о файле, без него (информация, подобная имени файла) –