1
0
mirror of https://github.com/gogf/gf.git synced 2025-04-05 11:18:50 +08:00

improve export data as hex for gres

This commit is contained in:
john 2019-09-01 21:34:15 +08:00
parent 15a6680833
commit 6ccc4d119f
7 changed files with 21 additions and 20 deletions

View File

@ -8,7 +8,7 @@ import (
func main() {
gres.Dump()
g.Dump(gres.Scan("/root/image/logo", "*"))
g.Dump(gres.ScanDir("/root/image", "*"))
//g.Dump(gres.Scan("/root/image/", "*", true))
//g.Dump(gres.Scan("/template", "*"))
//g.Dump(gres.Scan("/template/layout2", "*.html", true))

View File

@ -1,12 +1,13 @@
package main
import (
"github.com/gogf/gf/frame/g"
"github.com/gogf/gf/os/glog"
"fmt"
"github.com/gogf/gf/internal/utilbytes"
)
func main() {
v := g.NewVar(1)
glog.Error(v.String())
glog.Errorfln("error")
b := []byte{48, 49, 50, 51, 52, 53}
fmt.Println(string(b))
fmt.Println([]byte("\xff\xff"))
fmt.Printf(utilbytes.Export(b))
}

View File

@ -9,18 +9,15 @@ package utilbytes
import (
"bytes"
"strconv"
"fmt"
)
func Export(b []byte) string {
buffer := bytes.NewBuffer(nil)
buffer.WriteString("[]byte{")
for k, v := range b {
if k > 0 {
buffer.WriteByte(',')
}
buffer.WriteString(strconv.Itoa(int(v)))
buffer.WriteString(`[]byte("`)
for _, v := range b {
fmt.Fprintf(buffer, `\x%02x`, v)
}
buffer.WriteString("}")
buffer.WriteString(`")`)
return buffer.String()
}

View File

@ -284,8 +284,8 @@ func (s *Server) listDir(r *Request, f http.File) {
}
r.Response.Write(`<tr>`)
r.Response.Writef(`<td><a href="%s/%s">%s</a></td>`, r.URL.Path, name, ghtml.SpecialChars(name))
r.Response.Writef(`<td style="width:80px;text-align:center;">%s</td>`, size)
r.Response.Writef(`<td>%s</td>`, gtime.New(file.ModTime()).ISO8601())
r.Response.Writef(`<td style="width:80px;text-align:center;">%s</td>`, size)
r.Response.Write(`</tr>`)
}
r.Response.Write(`</table>`)

View File

@ -8,6 +8,8 @@ package gres
import (
"fmt"
"github.com/gogf/gf/os/gtime"
"os"
"path/filepath"
"strings"
@ -209,8 +211,10 @@ func (r *Resource) doScanDir(path string, pattern string, recursive bool, onlyFi
// Dump prints the files of current resource object.
func (r *Resource) Dump() {
var info os.FileInfo
r.tree.Iterator(func(key, value interface{}) bool {
fmt.Printf("%7s %s\n", gfile.FormatSize(value.(*File).FileInfo().Size()), key)
info = value.(*File).FileInfo()
fmt.Printf("%v %7s %s\n", gtime.New(info.ModTime()).ISO8601(), gfile.FormatSize(info.Size()), key)
return true
})
fmt.Printf("TOTAL FILES: %d\n", r.tree.Size())

View File

@ -10,15 +10,14 @@ import (
"testing"
"github.com/gogf/gf/debug/gdebug"
"github.com/gogf/gf/os/gfile"
"github.com/gogf/gf/os/gres"
"github.com/gogf/gf/test/gtest"
)
func Test_Export(t *testing.T) {
gtest.Case(t, func() {
srcPath := gfile.Dir(gdebug.CallerFilePath()) + "/testdata/files"
goFilePath := gfile.Dir(gdebug.CallerFilePath()) + "/testdata/testdata.go"
srcPath := gdebug.CallerDirectory() + "/testdata/files"
goFilePath := gdebug.CallerDirectory() + "/testdata/testdata.go"
pkgName := "testdata"
err := gres.PackToGoFile(srcPath, goFilePath, pkgName)
gtest.Assert(err, nil)

File diff suppressed because one or more lines are too long