您好,提问者:
创新互联建站基于分布式IDC数据中心构建的平台为众多户提供遂宁托管服务器 四川大带宽租用 成都机柜租用 成都服务器租用。
可以保存一个路径啊,然后连接一个页面。
就好比保存一个图片路径一样,然后在页面img src="%=xxxx%"/出来一样。
1 内容存储为txt效率不会比mysql高,因为mysql设计就是存储数据的。
2 大量的数据对效率影响肯定是比较大的,建议把需要检索的字段放在一张表里面,把文章内容存在另外一张表里面,这样第二张内容很大的表不会频繁的操作。建议生成html,然后这些html使用nginx等反向代理服务器存储,避免每次都要查询数据库。
3 限制字数,不要无限制满足用户的bt需求!
mysql表里面搞个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字段在结果集中的索引号
FileOutputStream fos = new FileOutputStream("path");
byte [] buf = new byte[1024];
while(is.read(buf)!=-1){
fos.write(buf);
}
//close省略
大概思路,自己完善
类型是TEXT
tags标签你可以用程序把它转义,再进行存储
如果是PHP的话就是htmlspecialchars()