【问题标题】:In Mvc, while using RedirectToAction("ReqAction", odetails) getting err as "Input is not a valid base 64 string as it contains non base 64 character"在 Mvc 中,使用 RedirectToAction("ReAction", details) 时出现错误,因为“输入不是有效的 base 64 字符串,因为它包含非 base 64 字符”
【发布时间】:2021-07-16 04:49:24
【问题描述】:

如果在没有对象的情况下通过,它的工作正常

return RedirectToAction("ReqAction"); 

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

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

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

在文件未上传时尝试了几次它的工作正常。

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

【问题讨论】:

    标签: asp.net-mvc file-upload base64 httppostedfilebase


    【解决方案1】:

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

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

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

    RedirectToAction(字符串)
    使用动作名称重定向到指定动作。

    RedirectToAction(字符串,对象)
    使用动作名称和路由值重定向到指定动作。

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

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

    RedirectToAction(字符串、字符串、对象)
    使用动作名称、控制器名称和路由字典重定向到指定的动作。

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

    【讨论】:

    • 想要将文件保存在数据库中并且 RedirectToAction(String, Object) 起作用
    • 您使用的是哪些数据库,您无法将文件保存在数据库中,您需要将文件上传到服务器,您可以将文件路径存储到数据库
    猜你喜欢
    • 2018-02-09
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 2020-11-22
    • 1970-01-01
    • 2019-08-27
    • 1970-01-01
    相关资源
    最近更新 更多