下载文件发生错误怎么提示?

-一个大坑 2018-05-26 04:36:56
function DownWord(tempName) {
window.location = encodeURI("/BDDLR009/DownWord?tempName="+tempName);
};


//下載協議模板
public IActionResult DownWord(string tempName)
{
try
{
string wordName = string.Empty;
DlrBdContractTemp contractTemp = _service.GetList(o => o.TempName == tempName).FirstOrDefault();
contractTemp = null;
if (contractTemp != null)
{
wordName = contractTemp.TempName + ".docx";

using (var ms = new MemoryStream(contractTemp.WordByte))
{
if (ms != null)
{
return File(ms.ToArray(), "application/vnd.ms-word", wordName);
}
}
}
return Json(new { status = "Danger", msg = "下載失敗,原因:沒找到該文檔" });
}
catch (Exception ex)
{
return Json(new { status = "Danger", msg = "下載失敗,原因:" + ex.Message });
}
}


错误接收的是json文件,我想想ajax一样接收data,然后判断提示。
...全文
1426 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
mirrorspace 2018-05-28
  • 打赏
  • 举报
回复
可以分两步先查是否能下载,再下载.但有两个请求了 $.post(/iscandownload/,f(data){ if(data==ok) { window.location.href='download/?id=file' } else{ alert('no file') } })
  • 打赏
  • 举报
回复
定义一个错误页面,跳转到错误页面,错误页面可以接收参数从而提示不通的错误信息
return Redirect("错误页面地址");
  • 打赏
  • 举报
回复
这是一个异步下载文件后弹出下载给用户的例子 你可以用这样的方法利用ajax异步下载文件后弹出下载界面。 当然你现在的状态就要稍作修改,比如二次返回下载或将下载转换为json的一个值等。 还有就是jquery对respone直接返回的流接收支持不是很好,建议参照文章中的信息做自己的修改

62,052

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧