我要求做到每一个用户发布一次自己的产品图片都要建在 upimg 目录下的一个子目录里,且这个子目录不能重名

parsely 2003-08-19 11:20:48
我要求做到每一个用户上传自己的产品图片都要放在 upimg 目录下的一个子目录里,且这个子目录要求先做校验不能重名,可以是这样: upimg/200381930021589/myuploadfile.gif 这该如何做呢?请大家帮个忙,或给个思路!!谢谢了
...全文
31 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
atian25 2003-08-20
  • 打赏
  • 举报
回复
DirectoryInfo.Exists 属性 判断不行吗?
jackyhzzjcn 2003-08-20
  • 打赏
  • 举报
回复
你可以每次都创建这个目录,如果存在会抛出异常,跳过即可,也可以用System.IO来判断目录是否存在,不存在就创建,存在就条国咯。
DoHope 2003-08-20
  • 打赏
  • 举报
回复
学习。
foxxiap 2003-08-20
  • 打赏
  • 举报
回复
补充一点,\TEMP\TEMP\下我权限足够
foxxiap 2003-08-20
  • 打赏
  • 举报
回复
有一个问题,如果我要创建的目录的根目录也就是比如D:\我是没有读权限的,在ASP.NET里就没法在D:\TEMP\TEMP\下再创建目录,有什么办法?
chenee543216 2003-08-20
  • 打赏
  • 举报
回复
1.Agree with :saucer(思归, MS .NET MVP).

2.And u can Use the System.DataTime to Name ur user's 子目录 ,then they all have unique user name?
fansun 2003-08-20
  • 打赏
  • 举报
回复
If loFile.Value = "" Then Exit Sub
Dim lstrFileName As String
Dim lstrFileNamePath As String
Dim lstrFileFolder As String
Dim fywname As String
' 如果上传目录为空,就使用" c:\ "作为缺省上传目录
' 获得上传到服务器的目录名称

lstrFileFolder = "c:\"
'lstrFileFolder="e:\"
Dim upto As String = uploadto.SelectedItem.Value
lstrFileFolder = Server.MapPath(upto)

' 获得文件名称
lstrFileName = loFile.PostedFile.FileName

' loFile.PostedFile.FileName 返回的是
' 通过文件对话框选择的文件名,这里面包含了文件的目录信息
lstrFileName = Path.GetFileName(lstrFileName)
' 去掉目录信息,返回文件名称
' 判断上传目录是否存在,不存在就建立
If (Not Directory.Exists(lstrFileFolder)) Then
Directory.CreateDirectory(lstrFileFolder)
End If
'上传文件到服务器
Dim filekzm = getkzm(lstrFileName)
fywname = Today.Year & Today.Month & Today.Day & Hour(Now) & Minute(Now) & Second(Now) & filekzm
lstrFileNamePath = lstrFileFolder & fywname



pics.Items.Add(upto & fywname)
AnswerMsg.Text = ""
Dim t
Dim temp
For t = 0 To pics.Items.Count - 1
temp = pics.Items(t).Text
Select Case getkzm(temp)
Case ".gif", ".jpg", ".tif", "JPG", "TIF"
AnswerMsg.Text = AnswerMsg.Text + "<img border=0 height=60px width=60px src=" & temp & ">" & "<a target=_blank href=" & temp & ">+</a>"

Case ".mp3", ".rm", ".ram", ".wmv"

t_musicurl.Text = temp
Case ".swf"
T_flashurl.Text = temp
Case Else

AnswerMsg.Text = AnswerMsg.Text + "<a target=_blank href=" & temp & ">未</a> "
End Select

Next



If R_video.Checked Then '正在添家电影

I_video.ImageUrl = upto & fywname

End If

If R_imgs.Checked Then
I_imgs.ImageUrl = upto & fywname
T_imgsurl.Text = upto & fywname
End If


''lstrFileNamePath = lstrFileFolder &

' 得到上传目录及文件名称
loFile.PostedFile.SaveAs(lstrFileNamePath)
' 获得并显示上传文件的属性

parsely 2003-08-19
  • 打赏
  • 举报
回复
GUID 是什么意思啊,俱体怎么用啊?多谢
孟子E章 2003-08-19
  • 打赏
  • 举报
回复
System.Guid.NewGuid().ToString()
saucer 2003-08-19
  • 打赏
  • 举报
回复
yes, as long as ASPNET account has enough permissions, you can use System.IO.Directory.CreateDirectory ("absolute-path-here")
孟子E章 2003-08-19
  • 打赏
  • 举报
回复
用GUID绝对不会重名的
parsely 2003-08-19
  • 打赏
  • 举报
回复
我现在不明白的是在 .net 里,假如我要把 myuploadfile.gif 文件存在 upimg/200381930021589里,upimg目录是我事先创建好的,但是200381930021589这个目录是不存在的,那 .net 能自动创建此目录吗?俱体应该怎么做?谢谢了
saucer 2003-08-19
  • 打赏
  • 举报
回复
what not name the 子目录 with the user name? assume they all have unique user name?
1、首先我们先下载DjangoUeditor包。下载完成然后解压到项目根目录。 DjangoUeditor.zip 2、settings.py注册APP,在INSTALLED_APPS添加'DjangoUeditor',。 myblog/settings.y INSTALLED_APPS = [ 'django.contrib.admin', .... 'DjangoUeditor', #注册APP应用 ] 3、myblog/urls.py添加url。 myblog/urls.py ... from django.urls import path, include #留意上面这行比原来多了一个include urlpatterns = [ path('admin/', admin.site.urls), path('', views.hello), path('ueditor/', include('DjangoUeditor.urls')), #添加DjangoUeditor的URL ] 4、修改blog/models.py需要使用富文本编辑器渲染的字段。这面我们要修改的是Article表的body字段。 把原来的: blog/models.py body = models.TextField() 修改成: blog/models.py from DjangoUeditor.models import UEditorField #头部增加这行代码导入UEditorField body = UEditorField('内容', width=800, height=500, toolbars="full", imagePath="upimg/", filePath="upfile/", upload_settings={"imageMaxSize": 1204000}, settings={}, command=None, blank=True ) 留意面的imagePath="upimg/", filePath="upfile/" 这两个是图片和文件上传的路径,我们上传文件,会自动上传到项目根目录media文件夹下对应的upimg和upfile目录,这个目录名可以自行定义。有的人问,为什么会上传到media目录去呢?那是因为之前我们在基础配置文章,设置了上传文件目录media。 上面步骤完成后,我们启动项目,进入文章发布页面。提示出错: render() got an unexpected keyword argument 'renderer' 错误页面上有提示,出错的地方是下面文件的93行。 F:\course\myblog\myblogvenv\lib\site-packages\django\forms\boundfield.py in as_widget, line 93 我这使用的是最新版本的Django2.1.1所以报错,解决办法很简单。打开这个文件的93行,注释这行即可。 修改成之后,重新刷新页面,就可以看到我们的富文本编辑器正常显示。 留意,如果我们在富文本编辑器,上传图片,在编辑器内容不显示上传的图片。那我们还需要进行如下设置,打开myblog/urls.py文件,在面输入如下代码: myblog/urls.py .... from django.urls import path, include, re_path #上面这行多加了一个re_path from django.views.static import serve #导入静态文件模块 from django.conf import settings #导入配置文件的文件上传配置 urlpatterns = [ path('admin/', admin.site.urls), .... re_path('^media/(?P.*)$', serve, {'document_root': settings.MEDIA_ROOT}),#增加此行 ] 设置好了之后,图片就会正常显示。这样我们就可以用DjangoUeditor富文本编辑器发布图文并茂的文章了。

62,042

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧