C#从数据库下载硬盘文件名问题

C#从数据库下载硬盘文件名问题,第1张

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中直接下载文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9492453.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存