您好,提問者:
創(chuàng)新互聯(lián)建站基于分布式IDC數(shù)據(jù)中心構(gòu)建的平臺為眾多戶提供遂寧托管服務(wù)器 四川大帶寬租用 成都機(jī)柜租用 成都服務(wù)器租用。
可以保存一個(gè)路徑啊,然后連接一個(gè)頁面。
就好比保存一個(gè)圖片路徑一樣,然后在頁面img src="%=xxxx%"/出來一樣。
1 內(nèi)容存儲為txt效率不會比mysql高,因?yàn)閙ysql設(shè)計(jì)就是存儲數(shù)據(jù)的。
2 大量的數(shù)據(jù)對效率影響肯定是比較大的,建議把需要檢索的字段放在一張表里面,把文章內(nèi)容存在另外一張表里面,這樣第二張內(nèi)容很大的表不會頻繁的操作。建議生成html,然后這些html使用nginx等反向代理服務(wù)器存儲,避免每次都要查詢數(shù)據(jù)庫。
3 限制字?jǐn)?shù),不要無限制滿足用戶的bt需求!
mysql表里面搞個(gè)longblob字段保存word
代碼:
1)上傳
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://localhost/test?user=rootpassword=rootuseUnicode=truecharacterEncoding=gbk";
Connection conn = DriverManager.getConnection(url);
Statement stmt = conn.createStatement();
stmt.execute("insert into test(myid) values (5)");
stmt.close();
PreparedStatement pstmt = null;
String sql = "";
File file = new File("c:\\kick.jpg");
InputStream photoStream = new FileInputStream(file);
sql = " UPDATE test SET photo = ? WHERE myid = 5" ;
pstmt = conn.prepareStatement(sql);
pstmt.setBinaryStream(1, photoStream, (int)file.length());
pstmt.executeUpdate();
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
2)下載:
PreparedStatement pst = ..... //省略獲取Connection及查詢的sql
ResultSet rs = pst.executeQuery();
InputStream is = rs.getBinaryStream(1); //1表示你的word字段在結(jié)果集中的索引號
FileOutputStream fos = new FileOutputStream("path");
byte [] buf = new byte[1024];
while(is.read(buf)!=-1){
fos.write(buf);
}
//close省略
大概思路,自己完善
類型是TEXT
tags標(biāo)簽?zāi)憧梢杂贸绦虬阉D(zhuǎn)義,再進(jìn)行存儲
如果是PHP的話就是htmlspecialchars()