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

将路径是图像转换为HttpPostedFileBase

如何解决将路径是图像转换为HttpPostedFileBase

我为用户提供上传图片

但是如果没有完成,我想在图像文件夹中设置认图像。

如何将“ HttpPostedFileBase”类型的模型属性设置为位于以编程方式设置的路径上的图像?

模型属性

 public HttpPostedFileBase UploadedImage { get; set; }

我尝试了这些但没有成功。

我得到的这个:无法将类型'string'转换为'System.Web.HttpPostedFileBase'。

 if (userProfileForSaveVM.UserProfileSingleVM.UploadedImage == null)
 {
   // Set a default.
   userProfileForSaveVM.UserProfileSingleVM.UploadedImage = 
   "F:\\GbngWebClient\\GbngWebClient\\Images\\Avatar.png";
 }

我得到的一个属性或索引器'HttpPostedFileBaseInputStream'不能分配给它-只读。

 if (userProfileForSaveVM.UserProfileSingleVM.UploadedImage == null)
 {
   // Set a default.
   String pathImage = Server.MapPath("F:\\GbngWebClient\\GbngWebClient\\Images\\Avatar.png");
   userProfileForSaveVM.UserProfileSingleVM.UploadedImage.InputStream = new FileStream(pathImage,FileMode.Open);
 }

我得到的这个:无法将类型'byte []'转换为'System.Web.HttpPostedFileBase'。

 if (userProfileForSaveVM.UserProfileSingleVM.UploadedImage == null)
 {
   // Set a default.
   byte[] imageArray = 
   System.IO.File.ReadAllBytes(@F:\\GbngWebClient\\GbngWebClient\\Images\\Avatar.png");
   userProfileForSaveVM.UserProfileSingleVM.UploadedImage = imageArray;
 }

解决方法

我不确定为什么要创建这种类型的类。该类用于从HTTP请求接收文件数据。通常,您可以使用此类的输入流从此类中获取数据。 msdn文档在这里有一个示例:

https://docs.microsoft.com/en-us/dotnet/api/system.web.httppostedfile.inputstream?view=netframework-4.8#System_Web_HttpPostedFile_InputStream

您要执行的操作是从HttpPostedFileClass获取文件流,如果没有,请从默认位置获取该文件流。您可以声明一个空的内存流开始,并在适当的地方从HttpPostedFile或您的本地资源中填充该流。

,

尝试在“视图”之类的视图中使用检查null:

if (userProfileForSaveVM.UserProfileSingleVM.UploadedImage != null)
{
   <img src= "@Url.Content("~/uploads/FileUpload12011_03_02_11_49_22.jpg")" alt="IMAGES" />
}

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