微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Mvc 中,在使用 RedirectToAction("ReqAction", odetails) 时出现错误,因为“输入不是有效的 base 64 字符串,因为它包含非 base 64 字符”

如何解决在 Mvc 中,在使用 RedirectToAction("ReqAction", odetails) 时出现错误,因为“输入不是有效的 base 64 字符串,因为它包含非 base 64 字符”

如果在没有对象的情况下通过

return RedirectToAction("ReqAction"); 

在模型中使用 public HttpPostedFileBase Provisionforattachment { get; set; }文件存储在数据库中。

在之前的模型中转换为字节以将文件存储在数据库中。

byte[] UploadedFile = new byte[oPModelViewObject.Provisionforattachment.InputStream.Length];                         
oPModelViewObject.Provisionforattachment.InputStream.Read(UploadedFile,UploadedFile.Length); 

试了好几次都没上传文件就正常了。

错误是否因为包含 HTTPPostedFileBase 类型的 Provisionforattachment 的对象而发生。任何人都可以建议使用该对象重定向

解决方法

为什么只在模型中取字符串只保存文件名然后直接发布到您的控制器,您可以通过以下代码将其存储到服务器

String TempFileName;
HttpFileCollection MyFileCollection = Request.Files[0];
TempFileName = "C:\\TempFiles\\File_" + MyFileCollection.FileName .ToString();
// Save the file.
MyFileCollection.SaveAs(TempFileName);
    

参考下面的参数来传递你的当前值

RedirectToAction(String)
使用动作名称重定向到指定动作。

RedirectToAction(String,Object)
使用操作名称和路由值重定向到指定的操作。

RedirectToAction(String,String)
使用动作名称和控制器名称重定向到指定动作。

RedirectToAction(String,RouteValueDictionary)
使用动作名称和路由字典重定向到指定的动作。

RedirectToAction(String,String,Object)
使用动作名称、控制器名称和路由字典重定向到指定动作。

RedirectToAction(String,RouteValueDictionary)
使用操作名称、控制器名称和路由值重定向到指定的操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。