基于C#的数据库文件管理助手2018-09-02
数据库文件管理助手说明
目录
友情声明:如果文件执行修改文件名的操作时被360等杀毒软件拦截时请允许通过,毕竟人家还是为了您的安全吧,勒索病毒横行的世界还是注意点安全,另外如果是联系作者867928135得到的文件或者在官网下载的,保证无病毒,只是没有通过360等安全软件的认证而已,如果您需要使用,请添加信任哟如果是其他站点声称的破解版等版本,请慎用;
一、下载地址
一、下载地址
二、数据库的文件导出
1、web格式
标准的web格式存储文件为/content/images/aaa.jpg,这样网页加载元素就可以通过http:///content/images/aaa.jpg的方式来访问了。

所以数据库我们常见的存储格式,结合实际存放的路径就可以导出文件了,这个就是使用的原理,我们只需要添加前缀即可,比如:
D:\Test\Content\images\404.jpg
首先链接数据库,输入对应的服务器地址、账号和密码,点击链接,就会加载对应的数据库名称、表信息、以及每个表的字段,都是省市区三级联动的方式,操作更简便;

然后需要填写网站发布的目录为E:\网站发布\测试Admin,目录下边一般就是Default.aspx或者index.html等网页,以及其他Content、css、图片等资源文件;

点击检测可以读取计算数据条数和文件的实际存在个数;
我们列举几个比较典型的格式,带目录嵌套的,很多网站都有异步上传的文件,导致有很多网站都是有冗余文件,所以数据库中的记录一般要比实际的文件要少:
/banner/3990e33ebedbc3a538150910019cf610.jpg
/Content/images/404.jpg
/Content/product/其他系统导入过来的图片.jpg
/Content/images/20160723150621_5435.jpg

然后输入导出的目标目录D:\文件助手,在导出文件时可以选择【是否保留源目录】,
保留源目录就是保留原来的文件夹,适合分类比较明确的站点,如果不保留则是把所有的图片放到同一个文件夹,适合设计人员统一修改文件,再也不用一个个文件夹手动去点击了;可以根据自己的需要导出;

2、winform格式
Winfrom格式即绝对路径,数据库中直接存放 E:\网站发布\测试Admin\Content\images\20160202095848_9521.jpg这种格式的,这种比较固定设计得比较死,一般聪明的设计人员也会只存放 \Content\images\20160202095848_9521.jpg 这种的格式,再把E:\网站发布\测试Admin存放到web.config中,网站的加载数据直接拼接在一起就行了,也方便以后数据的迁移,比如换了台服务器,放到E盘了,只需修改个配置文件就行了,数据库的地址就不需要改动;
3、二进制格式
数据库中BinarFile的字段类型为Image即二进制的存放格式,Extension记录的是文件的扩展名,如果是存放的/Content/images/DA25368F-0E20-4B76-8E53-A4F7AE79E7F9.jpg格式的路径可以不存放扩展名,但是是二进制的格式的时候尽量要存放文件夹,比如是图片的话,有可能是png格式,有可能是jpg格式,所以在设计数据库时尽量的全一些,如果可以的话再设计字段记录文件的大小,不用每次都去读取文件计算吧,也方便排序呢,好了说远了,还是看看工具如何使用吧。
注意事项:导出时需要确认BinarFile字段是image类型,并且有扩展名字段Extension;



三、文件批量工具
1、文件批量改名GUID

首先输入数据库的链接字符串,主键字段和文件字段、表名等信息,sql语句主要是用户获取文件的地址和主键,根据主键来修改文件的名称,

点击执行前一定要先备份数据库和文件,防止断电等造成的数据操作不可逆,谨慎操作;执行完毕后会有系统日志;

2、文件批量下载-URL方式

首先将需要下载的url复制到输入框内,系统会检测有多少个url链接,然后开启多线程下载,默认开启线程数为3,根据自己的机器开启即可;

3、文件批量下载-根据数据库下载


4、文件批量下载转二进制格式
填写链接字符串等信息,填二进制的字段、主键则软件会根据选择的目录读取对应的格式,修改字段对应的二进制的值。
需要注意的地方:
1、需要手动在sqlserver studio或者其他管理工具中,创建二进制的字段,此处是BinarFile,选择类型为image即可。

基于C#的数据库文件管理助手2018-09-02的更多相关文章
- 基于C#的数据库文件管理助手
我们经常会遇到这样的问题,在数据库中的文件存放的是web格式或者是绝对路径,以及使用的是百度上传或者其他上传组件,造成了很多异步上传的冗余文件,如果客户需要我们导出企业官网中的产品图片,我们该如何处理 ...
- 2018.09.02 bzoj1296: [SCOI2009]粉刷匠(dp套dp)
传送门 dp好题. 先推出对于每一行花费k次能最多粉刷的格子数. 然后再推前i行花费k次能最多粉刷的格子数. 代码: #include<bits/stdc++.h> #define N 5 ...
- 2018.09.02 bzoj1025: [SCOI2009]游戏(计数dp+线筛预处理)
传送门 要将所有置换变成一个轮换,显然轮换的周期是所有置换长度的最小公倍数. 于是我们只需要求长度不超过n,且长度最小公倍数为t的不同置换数. 而我们知道,lcm只跟所有素数的最高位有关. 因此lcm ...
- 2018.09.02 bzoj1003: [ZJOI2006]物流运输(dp+最短路转移)
传送门 dp好题. 每一天要变更路线一定还是走最短路. 所以l~r天不变更路线的最优方案就是把l~r天所有不能走的点都删掉再求最短路.显然是可以dp的. 设f[i]表示第i天的最优花销.那么我们枚举在 ...
- 2018.09.02 Atcoder Regular Contest 102简要题解
比赛传送门 T1 Triangular Relationship 分析之后发现有两种情况: 1. n为奇数,那么所有数都是k的倍数. 2. n为偶数,那么所有数都是k/2的倍数. 然后就可以愉快A题了 ...
- 基于Consul的数据库高可用架构【转】
几个月没有更新博客了,已经长草了,特意来除草.本次主要分享如何利用consul来实现redis以及mysql的高可用.以前的公司mysql是单机单实例,高可用MHA加vip就能搞定,新公司mysql是 ...
- 基于Git的数据库sql文件的管理——完美解决团队sql操作协同问题
目录 基于Git的数据库sql文件的管理--完美解决团队sql操作协同问题 1.产生背景 2.之前没用Git管理数据库出现的问题 2.1 用同一个库调试带来的问题 3.解决方案 3.1 Sql文件的创 ...
- XData -–无需开发、基于配置的数据库RESTful服务,可作为移动App和ExtJS、WPF/Silverlight、Ajax等应用的服务端
XData -–无需开发.基于配置的数据库RESTful服务,可作为移动App和ExtJS.WPF/Silverlight.Ajax等应用的服务端 源起一个App项目,Web服务器就一台,已经装了 ...
- (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)
随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据 ...
随机推荐
- centos7.0安装redis扩展
1.下载 下载地址:https://github.com/phpredis/phpredis/ 文件名:phpredis-develop.zip 文件下载成功后,上传至/usr/local 2.安装 ...
- 【HTML5开发系列】表单元素
<form> 创建一个HTML表单 属性: action 表示提交表单时浏览器应该把用户填写的数据发送到什么地方 method 用来指定表单数据发送到服务器的方式.允许值有get和post ...
- hdu 3549 Flow Problem【最大流增广路入门模板题】
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3549 Flow Problem Time Limit: 5000/5000 MS (Java/Others ...
- UITableview刷新时界面“乱跑”现象
Self-Sizing在iOS11下是默认开启的,Headers, footers, and cells都默认开启Self-Sizing,所有estimated 高度默认值从iOS11之前的 0 改变 ...
- Alamofire 小试牛刀
1.定义请求头 let headers: HTTPHeaders = [ "token": "W4SIjb3gHgJqgG8LRWj0jM==", " ...
- 基于PI的Webservice发布实例
[转自http://blog.csdn.net/yin_chuan_lang/article/details/6706816] 最近的项目中,接口较多,而Webservice技术是主要实现方式之一.下 ...
- webdriver与JS操作浏览器元素
1.JQuery的选择器实例 语法 描述 $(this) 当前 HTML 元素 $("p") 所有 <p> 元素 $("p.intro") 所有 c ...
- Django——auth用户认证
之前我们在进行用户校验的时候,总是从数据库中获取数据,然后再进行对比,就像如下这样: def login(request): if request.method == "POST" ...
- castle windsor学习-------Container Events 容器的事件
所有的事件是实现IKernelEvents 接口,已容器的Kernel属性暴露出来 1. AddedAsChildKernel 当前的容器添加子容器或其他容器时触发 2. RemovedAsChild ...
- JavaScriptr -- 常用对象 String, date, prototype
<script type="text/javascript"> //给已有的对象添加自定义功能 function getMax() { var max = this[0 ...