一個比較難的問題:請各位兄弟幫忙看看,先謝了
請問各位兄弟:
文件存入數據庫中,有二種方法:1、通過ftp方式上傳,數據庫只保存文件路徑2、通過GetChunk或Stream直接保存在數據庫中,請問下,哪種方法更好些?如果直接保存在數據庫中,文件很大時,客戶端查詢速度會不會很慢?  
如果使用ftp的方式,怎樣解決上傳前對已上傳的文件進行判斷或者重命名上傳文件?(我用ftp的方式就卡在這兒)如果用ftp的方式,哪位能給一段上傳前對已上傳的文件進行判斷或者重命名上傳文件的解決源碼啊?謝謝啦

解决方案 »

  1.   

    两种方法都有公有优缺点
    1、FTP方式上传,不会因为文件太大而影响查询、访问速度。但是文件与数据库分离,容易出现有链接,无文件的情况。并且需要开FTP服务,不安全。2、存入数据库,如果文件过大,影响访问速度。可以采取一个折中的方式,将文件保存入数据库,但是将文件内容放在单独的表中,用编号进行关联。
    http://www.j2soft.cn/
      

  2.   

    你可以将FTP的写和读分开来。
    ①上传文件全部送到可写的FTP上,你也可以将文件重命名的命令通过约定的格式写在这里。
    ②开一个服务端程序,负责通过读这个可写FTP所在的文件和命令,更新到只读FTP所在,同时更新数据库中的链接地址(也可以在①中执行,只有客户端有容错处理)。
    ③根据数据库中的链接地址,到只读FTP上取文件。
    如果有更高的安全要求,FTP设在不同的服务器上,再用防火墙过滤,就是通过外网访问也是安全的。