如何将文件的路径存入SQL数据库中去?(用C#编)

如何将文件的路径存入SQL数据库中去?(用C#编),第1张

建一个表:JpgFiles,其中至少包含一个列:JpgPath,用来存放绝对路径的字符串,所以这个列需要用varchar,长度假设为50,不够的话自己再增加。

string

strPath

=

@"d:\baidu\up"

string[]

fileNames

=

System.IO.Directory.GetFiles(strPath)

SqlConnection

Cn=new

SqlConnection(这里写你的连接串)

SqlCommand

Cmd=new

SqlCommand("Insert

JpgFiles

values

(@JpgPath)",Cn)

Cmd.Parameters.Add("@JpgPath",SqlDbType.VarChar,50)

foreach

(string

strName

in

fileNames)

{

Cmd.Parameters[0].Value=strName

Cmd.ExecuteNoQuery()

}

define(UPLOAD_ROOT,'你的上传文件夹路径')

function fake_random_name($string,$key){

#伪代码 随便根据用户名和上传时间生成一个伪随机的文件名作为上传以后的用户名

#但解码的条件是可以根据文件名判断出文件所有者的用户名和上传时间

#需要从数据库取出用户的密匙 才能进行解密 密匙是用户名的前5个字符

#具体加密解密的代码实现 请参照PHP标准扩展库 Mcrypt扩展下的N种方法

return $fake_random_name

}

if(!is_writbale(UPLOAD_ROOT)){

die('you need chown the dir for your uploading file,make it writable~')

}else{

move_uploaded_file($_FILES['POST过来的表单名']['tmp_name']

/*

* 这个方法会自动调用is_upload_file()方法 检测是否是合法的http rfc1867协议上传的文件

* 当然了 你也可以限制是否是你需要的合法文件类型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以

*/

$dbh = new mysqli('localhost','root','sa','your_db_name')#生成中可以include进来 DSN放到根目录以外去 保护连接文件

$sec_key = substr($_SESSION['loginname'],0,5)

#密匙

$file_name = fake_random_name($_FILES['POST过来的表单名']['tmp_name'],$sec_key)

#加密后的名字

$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))"/SQL

$dbh->query($q_str)

if($dbh->num_rows()==1) echo "上传成功,已经插入数据库文件细节(加密)"

}

很简单,用控件实现上传功能

第一步:用FileUpload控件获取图片,下面是保存代码

FileUpload1.SaveAs(“D:\\hosting\\wwwroot\\web\\Uploads\\"

+

FileUpload1.FileName)

解析:D:\\hosting\\wwwroot\\web\\Uploads\\是你想要保存到的文件夹路径,FileUpload1.FileName是图片的名称!

第二步:保存路径到数据库

img_url

=

"../Uploads/"

+

FileUpload1.FileName

把这个img_url变量保存到你的数据库指定字段就可以了!


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

原文地址:https://54852.com/sjk/9969828.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存