首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >头像文件管理

头像文件管理
EN

Stack Overflow用户
提问于 2013-09-04 00:53:49
回答 2查看 364关注 0票数 0

我正在建立一个ASP.NET网站,在那里用户可以上传他们的个人资料图片。我将这些图像存储在App_Data文件夹下,并将文件路径存储在Users表中。

那么,问题是我应该如何更新用户的个人资料图片?我的意思是,如果我覆盖了之前的文件,同时收到获取图片的请求,会发生什么情况。我应该有一些并发管理吗?我最好的解决方案是为新图像生成一个文件名(数据库中的用户记录也会用这个新路径更新),并将旧路径存储在其他地方,以便以后删除它。这是个好主意吗?

EN

回答 2

Stack Overflow用户

发布于 2013-09-04 01:21:01

我通常在我的案例中做的事情。

  1. 会在我的项目中创建一个路径为~/uploads/
  2. 的文件夹。这里图像是我关注的文件夹,它在上传目录下,上传是根目录。
  3. 当保存图像路径到数据库时,我使用简单

来自文件上传控制Fu.SaveAs(Server.MapPath(dbPath));的dbpath= string.Format("~/Uploads/Images/{0}",Guid.NewGuid().ToString().Replace("-",var Uploads string.Format(“~/Uploads/Images/{0}”,Guid.NewGuid().ToString().Replace(“-”,var Uploads control var

如果您想在页面上显示来自数据库的图像,您可以使用

  1. <asp:Image runat="server" id="immm"></asp:Image> , from code behind imm.ImageUrl = dt.Rows[0]["ImagePath"].ToString"

2.如果是内部网格/中继器,只需使用<asp:Image runat="server" id="immm" ImageUrl='<%#Eval("ImagePath")%'></asp:Image>

票数 0
EN

Stack Overflow用户

发布于 2014-01-12 04:03:53

不需要生成新的文件名。有一个非常聪明的解决方案。

更改用户表并添加Uploadversion字段。并用上传的文件覆盖相同的文件,只需在Users表中增加一个upload version字段。

当您的客户端请求该文件时,将路径与此版本一起发送。客户端可能会将此版本作为伪querystring添加到您的img元素的src路径中。

代码语言:javascript
复制
<img src="/[image_route]?[version]" />

对于ex:

代码语言:javascript
复制
<img src="/images/john_doe/photo?16" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18597575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档