如何解决将路径是图像转换为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文档在这里有一个示例:
您要执行的操作是从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 举报,一经查实,本站将立刻删除。