передача осуществляется через ASP страницу, на которой вызывается собственный activeX DLL,
вот код компонента
- Код: Выделить всё
Option Explicit
'отправка через объект IIS - response
Public Sub Send(ByVal obj As Object, ByVal fileName As String)
Dim MyFile As Integer
Dim MyFileLen As Long
Dim tmpData() As Byte
Dim blocksCount As Integer
Dim blockSize: blockSize = 7 ' отправляем блоками по 32000 байт
Dim sendsBlocks As Integer: sendsBlocks = 0
MyFileLen = FileLen(fileName)
blocksCount = Int(MyFileLen / blockSize)
MyFile = FreeFile
Open (fileName) For Binary As #MyFile
Do While Not EOF(MyFile)
If (sendsBlocks < blocksCount) Then
ReDim tmpData(blockSize)
Else
ReDim tmpData(MyFileLen - blocksCount * blockSize)
End If
Get #MyFile, , tmpData
obj.BinaryWrite tmpData
sendsBlocks = sendsBlocks + 1
Loop
Close #MyFile
' obj.BinaryWrite "<" & MyFileLen & "|" & blocksCount & "|" & sendsBlocks & "|" & UBound(tmpData) & "|" & LBound(tmpData) & ">"
End Sub
допустим на входе имеем тестовый файл состоящий из символов от 0 до 9 без перевода строки, то на выходе мы получаем эти 10 символов и еще два символа Nul, если раскомментировать последнюю строку то в файл дописывается <10|1|2|3|0> т.е. видно что он д.б. был передать только 10 символов, т.е. два блока 7 и 3 символа.
помогите плз, откуда лишние символы