i have following action not return a View
public FileResult Download(int? id)
{
var files = from p in _db.tbl_Pdfs
where p.PaperId == id
select p.FileName;
var archive = Server.MapPath("~/Content/Zip/archive.zip");
var temp = Server.MapPath("~/Content/Temp");
// clear any existing archive
if (System.IO.File.Exists(archive))
{
System.IO.File.Delete(archive);
}
// empty the temp folder
Directory.EnumerateFiles(temp).ToList().ForEach(f => System.IO.File.Delete(f));
// copy the selected files to the temp folder
foreach (string name in files)
{
string sourceFile = System.IO.Path.Combine("~/Content/Pdf", name);
System.IO.File.Copy(sourceFile, "~/Content/Temp", true);
}
// create a new archive
ZipFile.CreateFromDirectory(temp, archive, CompressionLevel.Fastest, true);
return File(archive, "application/zip", "archive.zip");
}
and also have following link for download zip file
<a href="~/Home/Download/@ViewBag.id" class="btn">Download zip</a>
i also change it to the following linkis
@Html.ActionLink("Download zip", "Download", new { id=@ViewBag.id, @class = "btn" })
<a href="@Url.Action("download","Home" , new { id=@ViewBag.id})" class="btn"> Download zip</a>
But still gives an error !
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Home/Download/7
what should i do? it this error case the action not return a view?