> 为什么不是filter呢?所有*.zip都经过一个判断用户权限的filter,如果有权限,就继续,没有权限,就转错误页面。
> 2009/11/7 Alex wang <idea.w...@gmail.com>
>> def download(address)
>> {
>> def file = new FileOutputStream(address.tokenize("/")[-1])
>> def out = new BufferedOutputStream(file)
>> out << new URL(address).openStream()
>> out.close()
>> }
>> 这个是下载网页地址的,你修改一下就应该能用了,groovy做IO操作超简洁。
>> 2009/11/7 derekypp peng <derek...@gmail.com>
>>> 首先IO读取文件,文件无论放在哪里都能读取 ---> 能不能給段代碼參考一下
>>> 因為我不知道怎麼從c:\xxx.zip 轉換成 http:/myproject/zip 這樣作法
>>> 謝謝。
>>> 2009/11/7 Alex wang <idea.w...@gmail.com>
>>>> 首先IO读取文件,文件无论放在哪里都能读取
>>>> 第二,放到非web目录,终端客户就无法看到了,也就安全了.
>>>> 当然了,这样做也是有代价的,就是性能会有所损失,可以考虑放到缓存里。
>>>> 2009/11/7 derekypp peng <derek...@gmail.com>
>>>>> Alex的意思是說在
>>>>> def download = {
>>>>> //permission check --> 這裡用session 來判斷*User* 有沒有登入 並且是不是有權限的User 者
>>>>> }
>>>>> 可是為什麼要放在非web的目錄裡?
>>>>> 2009/11/7 Alex wang <idea.w...@gmail.com>
>>>>> 首先将你的下载文件不要放到一个普通目录里,最好的方式是放到非web目录里,然后所有的下载行为通过定义一个
>>>>>> def download = {
>>>>>> //permission check
>>>>>> //your download code with IO process from your private file
>>>>>> directory
>>>>>> }
>>>>>> 当然,如果文件较小,也可以放到数据库里,这样操作更方便一点。
>>>>>> 2009/11/7 derekypp peng <derek...@gmail.com>
>>>>>> 想用grails做一個檔案管理的系統
>>>>>>> 請問要怎麼讓只有用戶A能下載 XXX.ZIP 檔
>>>>>>> 而用戶B卻沒有辦法下載
>>>>>>> 因為我想到 我給用戶A是一個下載網址 http://www.myproject/XXX.ZIP
>>>>>>> 雖然用戶B是看不到的,可是他從別人那邊把網址COPY過來 他就可以下載了
> --
> Xin Wang
> xinwa...@gmail.com