我正在编写一个长期运行的任务,该任务多次从mongodb(使用mgo)获取。然后使用此模块将其写入xlsx文件。然后使用os.Open
重新读取,然后将其存储到我的ftp服务器中。
Stor
函数会消耗大量内存,因此,我认为应该有一种方法不保存文件,而是将数据从xlsx.Write直接传递到ftp.Store。(如果我可以同时进行流传输,那将是完美的,因为在将它们发送到Stor函数之前,不必将所有文档都保留在服务器的内存中)
这些是功能的原型
func (f *File) Write(writer io.Writer) (err error)
xlsl
func (ftp *FTP) Stor(path string, r io.Reader) (err error)
ftp
您要使用io.Pipe。你可以做:
reader, writer := io.Pipe()
errChan := make(chan error)
go func() {
errChan <- myFTP.Stor(path, reader)
}()
err := myXLS.Write(writer)
// handle err
err = <-errChan
// handle err
您可能想要writer.CloseWithError(err)
if xlsx.Write
返回错误而不关闭编写器。
我想连接payara服务器和MySQL服务器。 我的所作所为? 我为MySQL下载了Connector/J。 我把它放在C:\users\someuser\desktop\payara5\glassfish\domains\domain1\lib\ext中 我启动了payara服务器。 我在localhost:4848上创建了连接池。 我试着ping但每次都出错。 详情: > Payara版本:5
我有一个以Mysql为数据库的应用程序,它使用了大量的XML/HTML。我想在BaseX中处理mysql数据,并通过它更新数据库。有什么简单的方法连接数据库吗?我检查了http://docs.basex.org/wiki/sql,但它不起作用。你能给我一个简单的例子我必须做什么来连接吗?出现SQL异常:“找不到适用于jdbc:mysql://localhost:3306/test的驱动程序”这是我
问题内容: 我正在运行一个使用Struts和Hibernate的应用程序。我当前正在使用Derby数据库。现在,我必须转向DB2数据库。 请告诉我 我必须在hibernate配置文件中执行哪些配置? 我是否需要设置任何classpath变量? 我知道有两个用于DB2的jar( db2jcc.jar 和 db2jcc_license_cu.jar )。我可能还需要其他jar吗? 提前致谢。 问题答案
问题内容: 我想使用其中包含图像。 我不想使用,因为我想将此主体直接写入文件并希望对其进行解码,所以我只想使用对内容的引用来传递给进一步的函数调用, 我尝试创建读取器的多个实例,如下所示 但是在第二次通话中它总是导致。 请帮助我如何为同一读者传递多个单独的参考? 问题答案: 被视为流。因此,您无法阅读两次。想象一下传入的TCP连接。您无法倒带进来的内容。 但是您可以使用复制流: Go Playgr
My Go程序发出HTTP请求,其响应主体是大型JSON文档,其字符串编码与字符 。ReadCloser,它替换< code >的所有实例 我怀疑这可以用< code>x/text/transform来实现,但是不要马上看到如何实现。特别是,我担心一个实体跨越几批字节的边缘情况。也就是说,一批以< code >结束
问题内容: 我正在使用Java套接字客户端。如果服务器仍连接到我的客户端,但是它不发送对我的消息的响应,则最终会出现读取超时异常。 在那种情况下,我想测试一下是否应该重新连接我的插座,或者只是保持插座可重复使用。 我使用这种情况: 但我似乎总是重新连接。当我记录布尔属性的值时,我看到以下内容: 已连接:true已关闭:true绑定:true 如何连接和关闭? TIA 问题答案: 该主题对此主题进行