SqlConnection conn = new SqlConnection(My_con);
string sql = "select COUNT() from PICTURE";
///string sql = "select UNITID ,PICTUREFILE from PICTURE order by UNITID";
SqlDataReader AD = MyMeangetcom(sql);
ADRead();
int a = ConvertToInt32(AD[0]ToString());
// int a = ADGetByte(0)ToString();
connOpen();
这里为什么不先open再 getcom
首先,网站中使用相对路径而非绝对路径。所以,请检查你的数据库中写入的路径。
比如文件路径及名称字段为File_path,存放内容为/UploadFiles(网站根目录下),在downfileasp获取到该地址即可下载
GridFS不是mongodb的一个功能,只是mongodb告诉驱动应该怎么处理文件存储的一个标准,所以你不能直接从数据库下载文件,要让驱动给你吧chunks里面的数据组合起来,或者你自己手动组合。
socket 编程 ?
如果是想从远程下载文件,那么需要有服务器的,这个服务器可以是ftp,>
如果是用的ftp或者>
如果是自己写socket服务器,那么直接在服务器读取文件流,然后通过socket发送到客户端就可以了。
/
Created by IntelliJ IDEA
User: ljt
Date: 2003-3-31
Time: 18:51:38
To change this template use Options | File Templates
/
import oraclejdbcdriverOraclePreparedStatement;
import oraclejdbcdriverOracleResultSet;
import javasqlConnection;
import javasqlDriverManager;
import javasqlStatement;
import javasqlClob;
public class TestOpenDoc {
public OracleResultSet ors = null; //这里rs一定要用Oracle提供的
public OraclePreparedStatement opst = null; //PreparedStatement用
public Connection conn = null;
public Statement stmt = null;
public TestOpenDoc() {
}
public boolean getConnect() {
//这是我的数据库所在
String serverName = "prosrv";
try {
ClassforName("oraclejdbcdriverOracleDriver");
String url = "jdbc:oracle:thin:@" + serverName + ":1521:BOHDATA";
conn = DriverManagergetConnection(url, "appuser", "appuser");
}
catch (Exception e) {
Systemoutprintln(e);
return false;
}
return true;
}
public static void main(String[] args) {
TestOpenDoc test = new TestOpenDoc();
if (!testgetConnect()) {
Systemoutprintln("数据库连结错误");
return ;
}
try{
testconnsetAutoCommit(false);
byte a[] = null; //将测试文件testdoc读入此字节数组
javaioFileInputStream fin = null;
javaioFileOutputStream fout = null;
//Oracle提供的
try {
javaioFile f1 = new javaioFile("c:/testdoc");
javaioFile f2 = new javaioFile("d:/testoutdoc"); //从BLOB读出的信息写
//入该文 件,和源文件对比测试用
fin = new javaioFileInputStream(f1);
fout = new javaioFileOutputStream(f2);
int flength = (int) f1length(); //读入文件的字节长度
Systemoutprintln("file length::" + flength);
a = new byte[flength];
int i = 0;
int itotal = 0;
// 将文件读入字节数组
for (; itotal < flength; itotal = i + itotal) {
i = finread(a, itotal, flength - itotal);
}
finclose();
Systemoutprintln("read itotal::" + itotal);
//注意Oracle的 BLOB一定要用EMPTY_BLOB()初始化
String mysql =
"insert into filelist (FileName,FileSize,FileBody) values (,,EMPTY_BLOB())";
OraclePreparedStatement opst = (OraclePreparedStatement) testconn
prepareStatement(mysql);
opstsetString(1, "wordtemplate2");
opstsetInt(2, flength);
opstexecuteUpdate();
opstclearParameters();
// /插入其它数据后,定位BLOB字段
mysql = "select filebody from filelist where filename=";
opst = (OraclePreparedStatement) testconnprepareStatement(mysql);
opstsetString(1, "wordtemplate2");
OracleResultSet ors = (OracleResultSet) opstexecuteQuery();
if (orsnext()) {
oraclesqlBLOB blob = orsgetBLOB(1); //得到BLOB字段
int j = blobputBytes(1, a); //将字节数组写入BLOB字段
Systemoutprintln("j:" + j);
testconncommit();
orsclose();
Clob clob;
clob = orsgetClob("");
String str;
str = clobtoString();
str = clobgetSubString(0L,(int)cloblength());
Systemoutprintln(str);
}
Systemoutprintln("insert into ok");
byte b[] = null; //保存从BLOB读出的字节
opstclearParameters();
mysql = "select filebody from filelist where filename=";
opst = (OraclePreparedStatement) testconn
prepareStatement(mysql);
opstsetString(1, "wordtemplate2");
ors = (OracleResultSet) opstexecuteQuery();
if (orsnext()) {
oraclesqlBLOB blob2 = orsgetBLOB(1);
Systemoutprintln("blob2 length:" + blob2length());
b = blob2getBytes(1, flength); //从BLOB取出字节流数据
Systemoutprintln("b length::" + blength);
testconncommit();
}
orsclose();
// 将从BLOB读出的字节写入文件
foutwrite(b, 0, blength);
foutclose();
Systemoutprintln("write itotal::" + blength);
}
catch (Exception e) {
Systemoutprintln("errror :" + etoString());
eprintStackTrace();
}
finally { //关闭所有数据联接
testconncommit();
}
}
catch(Exception e){
Systemoutprintln(e);
}
}
}
以上就是关于C#从数据库下载硬盘文件名问题全部的内容,包括:C#从数据库下载硬盘文件名问题、ASP从数据库提供的路径下载文件的代码急求高手帮帮忙!、怎样从mongoDB的GridFS中直接下载文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)