我想用archiver创建一个存档并在其中放入一些文件。客户方,用户将点击一个按钮,它将生成存档(服务器端)。
我正在使用Express.js,这是我的服务器端代码,其中将生成存档。我做了这样的事情:
'Creating XML file first...
Dim objWriter As New System.IO.StreamWriter(IO.Directory.GetCurrentDirectory & "\PROFILE.xml")
objWriter.WriteLine("<COMPELATION>")
objWriter.WriteLine("</COMPELATION>")
objWriter.Close()
'Writing XML content...
Dim xmldoc As XmlDocument = New XmlDocument()
xmldoc.Load(IO.Directory.GetCurrentDirectory & "\PROFILE.xml")
With xmldoc.SelectSingleNode("/COMPELATION").CreateNavigator().AppendChild()
.WriteStartElement("DATA")
.WriteElementString("PROJECTID", TextBox1.Text)
.WriteElementString("CLIENTID", ComboBox1.SelectedText)
.WriteElementString("CDATE", Date.Today)
.WriteElementString("CTIME", Now.ToShortTimeString)
.WriteEndElement()
.Close()
End With
xmldoc.Save(IO.Directory.GetCurrentDirectory & "\PROFILE.xml")
Dim filepath As String = (IO.Directory.GetCurrentDirectory & "\PROFILE.xml")
Dim DS_PROJECTS As New DataSet
DS_PROJECTS.ReadXml(filepath)
End If
这对我来说是全新的,我想了解为什么控制台告诉我流文件是空的?
错误:追加:条目名称必须是非空字符串值 在Archiver.append
此致
答案 0 :(得分:1)
你只能追加一个readStream,因为存档只能从readstream中获取数据。您可以使用名为archive.append的方法,并且应该使用name属性作为第二个参数传递以命名该文件。像这样:
archive.append(myReadStream,{ name : 'myTest.txt'});