当前位置:首页 » 文件管理 » mongodb文件上传

mongodb文件上传

发布时间: 2022-10-08 12:53:23

1. 小白请教下关于SecureCRT命令后台运行

1.在用SecureCRT登陆linux终端.2.选中要放置上传文件的路径,在目录下然后输入rz命令,SecureCRT会弹出文件选择对话框,在查找范围中找到你要上传的文件,按Add按钮。然后OK就可以把文件上传到linux上了。或者在Transfer->Zmodem Upoad list弹出文件选择对话框,选好文件后按Add按钮。然后OK窗口自动关闭。然后在linux下选中存放文件的目录,输入rz命令。

2. Mongodb在Linux 64位系统下,通过mongofiles上传的单个文件有大小限制吗

一楼的,MongoDB有配置文件?在哪呢?我这是头回听说。

建议你改用任意一种主流驱动进行上传,如java的API,里面有GridFS这个类,适用于管理文件系统的,这样对于出错的情况很容易把我,如利用try catch和writeconcern。
你这样什么错误信息都不给出,是没办法排查的。

3. 如何用spring集成mongodb实现文件上传

首先要把必要的MongoDB需要的jar加进项目中
定义mongoDB的bean
[html] view plain
<bean id="mongoClient" class="com.mongodb.MongoClient">
<constructor-arg index="0" type="java.lang.String" name="host" value="127.0.0.1" />
<constructor-arg index="1" type="int" name="port" value="27017" />
</bean>
自定义实现mongodb增删改实体类
[html] view plain
<bean id="mongoDB" class="com.test.MongoDB">
<property name="mongoClient" ref="mongoClient" />
<property name="dbName" value="orcl" />
</bean>
定义mongoClient基础类
[java] view plain
public class MongoDB {
private MongoClient mongoClient;
private String dbName;
/**
* 获取名为dbName数据库
*
* @return
*/
public DB getDB() {
return mongoClient.getDB(dbName);
}
public MongoClient getMongoClient() {
return mongoClient;
}
public void setMongoClient(MongoClient mongoClient) {
this.mongoClient = mongoClient;
}
public String getDbName() {
return dbName;
}
public void setDbName(String dbName) {
this.dbName = dbName;
}
}
定义mongodb操作Dao类
[java] view plain
/**
* 增
*
* @param bean
* @return
*/
public T save(T bean) {
String beanJson = JsonUtil.getJSONString(bean);
DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());
collection.save((DBObject)JSON.parse(beanJson));
return bean;
}
/**
* 删
* @param id
*/
public void remove(String id) {
DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());
BasicDBObject doc = new BasicDBObject();
doc.put("_id", id);
collection.remove(doc);
}
/**
* 改
* @param query
* @param newDoc
*/
public void update(BasicDBObject query, BasicDBObject newDoc) {
DBCollection collection = mongoDB.getDB().getCollection(clazz.getSimpleName());
collection.update(query, newDoc);
}
定义保存文件类
[java] view plain
/**
* 保存文件到MongoDB GridFS
*
* @param in - 需要保存文件的输入流
* @param id - 需要保存文件的唯一ID
* @param fileName - 需要保存文件的文件名
* @param contentType - 需要保存文件的文件类型
* @param downloadName - 需要保存文件被下载时的文件名
*/
public void save(InputStream in, String id, String fileName, String contentType, String downloadName) {
GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());
GridFSInputFile fsFile = fs.createFile(in);
fsFile.setId(id);
fsFile.setFilename(fileName);
fsFile.setContentType(contentType);
fsFile.put("downloadName", downloadName);
fsFile.save();
}
/**
* 从MongoDB GridFS文件系统中删除指定ID的文件
*
* @param id
*/
public void remove(String id) {
GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());
BasicDBObject query = new BasicDBObject("_id", id);
fs.remove(query);
}
/**
* 从MongoDB GridFS文件系统中批量删除指定ID的文件
* @param ids
*/
public void batchRemove(String... ids) {
GridFS fs = new GridFS(mongoDB.getDB(), this.getClass().getSimpleName());
for(String id : ids){
BasicDBObject query = new BasicDBObject("_id", id);
fs.remove(query);
}
}

4. 如何保证文档内容唯一 mongodb

在MongoDB中,如果不特别指定,每个文档都会生成一个唯一的ObjectId作为其主键_id的值。这个值是一个看似随机的串。这个串到底是什么值?为什么MongoDB要使用这个值作为默认主键?它内部又包含了什么样的信息?如果你还不了解,就请看下面文章吧。

MongoDB中数据的基本单元称为文档(Document)。文档是MongoDB的核心概念,多个键极其关联的值有序的放置在一起便是文档。

在一个特定集合内部,需要唯一的标识文档。因此MongoDB中存储的文档都由一个”_id”键,用于完成此功能。这个键的值可以是任意类型的,默认试ObjectId对象。ObjectId对象的生成思路是本文的主题,也是很多分布式系统可以借鉴的思路。

为了考虑分布式,“_id”要求不同的机器都能用全局唯一的同种方法方便的生成它。因此不能使用自增主键(需要多台服务器进行同步,既费时又费力),因此选用了生成ObjectId对象的方法。

ObjectId使用12字节的存储空间,其生成方式如下:

0 1 2 3 4 5 6 7 8 9 10 11
时间戳 机器ID PID 计数器
前四个字节时间戳是从标准纪元开始的时间戳,单位为秒,有如下特性:

时间戳与后边5个字节一块,保证秒级别的唯一性;
保证插入顺序大致按时间排序;
隐含了文档创建时间;
机器ID是服务器主机标识,通常是机器主机名的散列值。

同一台机器上可以运行多个mongod实例,因此也需要加入进程标识符PID。

前9个字节保证了同一秒钟不同机器不同进程产生的ObjectId的唯一性。后三个字节是一个自动增加的计数器(一个mongod进程需要一个全局 的计数器),保证同一秒的ObjectId是唯一的。同一秒钟最多允许每个进程拥有(256^3 = 16777216)个不同的ObjectId。

总结一下:时间戳保证秒级唯一,机器ID保证设计时考虑分布式,避免时钟同步,PID保证同一台服务器运行多个mongod实例时的唯一性,最后的计数器保证同一秒内的唯一性(选用几个字节既要考虑存储的经济性,也要考虑并发性能的上限)。

“_id”既可以在服务器端生成也可以在客户端生成,在客户端生成可以降低服务器端的压力。

5. C# MongoDb MongoGridFS 存储文件,添加自定义属性添加不了

在MongoDB中,文档是对数据的抽象,它被使用在Client端和Server端的交互中。所有的Client端(各种语言的Driver)都会使用这种抽象,它的表现形式就是我们常说的BSON(Binary JSON )。
BSON是一个轻量级的二进制数据格式。
MongoDB能够使用BSON,并将BSON作为数据的存储存放在磁盘中。
当Client端要将写入文档,使用查询等等操作时,需要将文档编码为BSON格式,然后再发送给Server端。同样,Server端的返回结果也是编码为BSON格式再放回给Client端的。

6. java的话,自学很差,有什么办法能改善一下吗

小白还是建你去培训一下;
不过我们选择培训班,是需要根据我们情况来选择的;
一点都不懂的小白最好的建议,先去网上看看一些学习视频,摸索一下编程的。随后在进行培训方面的思考,没有做好足够的准备=学费白掏+厌恶编程+颓废;

所以说学习一门专业不严盲目,每一门专业都不简单,学习Java同样也是一样,下面我来给你说一下这篇文章——里面是以视频为内容的学习线路图,分开讲述啦我们需要如何学习Java编程语言。

或者从网上寻找其他的,相关于Java编程的课程等等,打好我们的基础为培训做准备;
分享一套学习路线,希望对你有帮助:
一、JavaSE基础阶段
面向对象编程(基础)
面向对象编程(进阶)
异常机制
Java常用类
数据结构和算法
集合(容器)
IO流
多线程
网络编程
集合提升训练
多线程提升训练
二、数据库阶段
Mysql基础
MySQL 查询语句
数据库对象
JDBC
反射和注解
数据库建模和UML建模
设计模式
三、WEB前端
JavaScript
jQuery
BootStrap
Vue
四、JavaEE阶段 (核心阶段)
HTTP/Tomcat
MVC 架构
Servlet
JSP
EL+JSTL+过滤器+监听器
Ajax和JSON
分页和文件上传/下载
五、JavaEE阶段(高级框架)
Spring 5.2.2
SpringMVC 5.2.2
RBAC
EasyUI 1.7.0
支付/短信验证
六、框架强化
Linux - CentOS 8
Maven
Logback
Quartz
Spring Boot 2.2.2
Shiro
Swagger
Git/GitEE
MyBatis
七、分布式架构
Zookeeper
RPC
Dubbo
Redis
Solr
RabbitMQ
FastDFS
Nginx
Spring Security
Spring Session
MyBatis Generator
Mycat
八、微服务阶段
ElasticSearch
MongoDB
Spring Cloud Netflix Eureka
Spring Cloud Netflix Ribbon
Spring Cloud OpenFeign
Spring Cloud Netflix Hystrix
Spring Cloud Config
Spring Cloud Gateway
Docker
K8S
LCN
培训班推荐你了解一下北京尚学堂,雄厚的师资以及科学的授课方式会带给你最好的学习体验。

7. 如何用spring集成mongodb实现文件上传

Spring Security的相关配置: 1、建一个web project,并导入所有需要的lib 2、配置web.xml,使用Spring的机制装载: 3、来看看applicationContext.xml这个配置文件,关于Spring的基本配置和 Spring Security和的配置均在其中: 4、这些基本配置...

8. 教你如何利用MySQL学习MongoDB之导入和导出

1、MySQL导入和导出(1)、mysqlimport此工具位于mysql/bin目录中,是MySQL的一个载入(或者说导入)数据的一个非常有效的工具。这是一个命令行工具。有两个参数以及大量的选项可供选择。这个工具把一个文本文件(text file)导入到你指定的数据库和表中。比方说我们要从文件student.txt中把数据导入到数据库class中的表 student中:mysqlimport class.student student.txt(2)、load data infile这个命令与mysqlimport非常相似,但这个方法可以在MySQL命令行中使用。 如mysqlimport工具一样,这个命令也有一些可以选择的参数。比如您需要把自己的电脑上的数据导入到远程的数据库服务器中,您可以使用下面的命令:Load data local infile "d:\student.txt" into table student;上面的local参数表示文件是本地的文件,服务器是您所登陆的服务器。这样就省去了使用ftp来上传文件到服务器,mysql替你完成了。(3)、mysqlmpmysqlmp工具很多方面类似相反作用的工具mysqlimport。它们有一些同样的选项。但mysqlmp能够做更多的事情。它可以把整个数据库装载到一个单独的文本文件中。这个文件包含有所有重建您的数据库所需要的SQL命令。这个命令取得所有的模式并且将其转换成DDL语法,取得所有的数据,并且从这些数据中创建INSERT语句。这个工具将您的数据库中所有的设计倒转。因为所有的东西都被包含到了一个文本文件中。这个文本文件可以用一个简单的批处理和一个合适SQL语句导回到MySQL中。这个工具令人难以置信地简单而快速。决不会有半点让人头疼地地方。因此,如果您像装载整个数据库mydb的内容到一个文件中,可以使用下面的命令:bin/mysqlmp –p mydb > mydb.txt2、MongoDB导入和导出(1)、mongoexport导出工具MongoDB提供了mongoexport工具,可以把一个collection导出成json格式或csv格式的文件。可以指定导出哪些数据项,也可以根据给定的条件导出数据。工具帮助信息如下:[root@localhost bin]# ./mongoexport --help options: --help proce help message -v [ --verbose ] be more verbose (include multiple times for more verbosity e.g. -vvvvv) -h [ --host ] arg mongo host to connect to ( /s1,s2 for sets) --port arg server port. Can also use --host hostname:port --ipv6 enable IPv6 support (disabled by default) -u [ --username ] arg username -p [ --password ] arg password --dbpath arg directly access mongod database files in the given path, instead of connecting to a mongod server - needs to lock the data directory, so cannot be used if a mongod is currently accessing the same path --directoryperdb if dbpath specified, each db is in a separate directory -d [ --db ] arg database to use -c [ --collection ] arg collection to use (some commands) -f [ --fields ] arg comma separated list of field names e.g. -f name,age --fieldFile arg file with fields names - 1 per line -q [ --query ] arg query filter, as a JSON string --csv export to csv instead of json -o [ --out ] arg output file; if not specified, stdout is used --jsonArray output to a json array rather than one object per line [root@localhost bin]# 下面我们将以一个实际的例子说明,此工具的用法:将foo库中的表t1导出成json格式:[root@localhost bin]# ./mongoexport -d foo -c t1 -o /data/t1.json connected to: 127.0.0.1 exported 1 records [root@localhost bin]# 导出成功后我们看一下/data/t1.json文件的样式,是否是我们所希望的:[root@localhost data]# more t1.json { "_id" : { "$oid" : "4f927e2385b7a6814a0540a0" }, "age" : 2 } [root@localhost data]# 通过以上说明导出成功,但有一个问题,要是异构数据库的迁移怎么办呢?

9. 如何读取富文本中的内容然后存到mongodb中

界面代码

<img src="@ViewData["html"]" />

作为测试代码,我就在界面上面写了一个image框,用来显示从MongoDB数据库中读取出来的图片。

HomeController代码

public ActionResult Index() { ViewData["html"] = "/MongodbHelp/ProcessRequest?actions=DOWNLOAD&value=lf.png"; return View(); }

后面的代码组成相信凡是接触过MVC的读者都能看懂这个东西,后面我就直接写死了一个图片的名称。

MongodbHelpController

连接数据库的方法

private static MongoDatabase DB; public static string fileTable = "fs";//数据库中的表名称 //Sets up the environment. public void Init() {
//我们可以在配置文件中读取 string ConnectionString = "127.0.0.1"; //ConfigurationManager.AppSettings["mondoDbConnection"]; if (String.IsNullOrEmpty(ConnectionString)) { throw new ArgumentNullException("Connection string not found."); } MongoServerSettings mongoSetting = new MongoServerSettings(); mongoSetting.MaxConnectionPoolSize = 15000;//设定最大连接池 mongoSetting.WaitQueueSize = 500;//设定等待队列数 mongoSetting.Server = new MongoServerAddress(ConnectionString, 27017); int count = MongoServer.MaxServerCount; MongoServer server = MongoServer.Create(mongoSetting);//创建连接数据文件 DB = server.GetDatabase("local");//创建数据库连接 }

用来判断我们进行的方法是哪一个,上传文件还是下载文件,在这只给大家介绍下载的方法;

public void ProcessRequest() { Init();//initialize the mongo string action = Request.QueryString["actions"]; switch (action) { case "LIST": GetFileList(); break; //获取文件列表 case "UPLOAD": Upload(); break; //上传文件 case "DELETE": Delete(); break;//删除文件 case "DOWNLOAD": DownFile(); break; //下载文件 } }

下载文件的类

//下载文件 public void DownFile() { string filename = Request.QueryString["value"]; Response.ContentType = "application/octet-stream"; //context.Response.ContentType = "audio/mpeg"; Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); MongoGridFSSettings fsSetting = new MongoGridFSSettings() { Root = fileTable }; MongoGridFS fs = new MongoGridFS(DB, fsSetting); MongoGridFSFileInfo gfInfo = new MongoGridFSFileInfo(fs, filename); //方法一,很简洁 fs.Download(Response.OutputStream, filename); Response.End(); }

通过这几段代码,我们就轻松的完成MongoDB数据的文件读取操作。

热点内容
qq空间音乐缓存 发布:2024-10-08 07:05:49 浏览:738
湖南回收服务器主板云主机 发布:2024-10-08 06:12:59 浏览:808
psv视频脚本 发布:2024-10-08 06:12:13 浏览:422
文件夹菜单栏 发布:2024-10-08 05:46:23 浏览:491
压缩机选型手册 发布:2024-10-08 05:24:37 浏览:622
java主机名 发布:2024-10-08 05:12:55 浏览:120
华意压缩待遇 发布:2024-10-08 05:04:07 浏览:466
jsp上传图片存到数据库 发布:2024-10-08 05:04:06 浏览:76
分卷压缩解压速度 发布:2024-10-08 04:45:16 浏览:848
冰雪单职业辅助哪个好安卓 发布:2024-10-08 04:40:06 浏览:664