
time.Sleep( * time.Minute)
}
?
tips := [] itemLen := i :=;i i == itemLen - } }
type InputArgs OutputPath
LocalPath
Quality
Width
}
func isPictureFormat(path ) (,, temp := strings.Split(path, len(temp) <= ,,
mapRule := make(map[ mapRule[] =
mapRule[] =
mapRule[] =
mapRule[temp[]] == println(temp[ path,temp[],temp[ } ,
}
func getFilelist(path
errC := os.MkdirAll(inputArgs.OutputPath, errC != fmt.Printf(
err := filepath.Walk(path,func(pathFound ( f == f.IsDir() {
localPath,format,_ :=
t := millis := t.Nanosecond()
outputPath := inputArgs.OutputPath+strconv.FormatInt(int64(millis),)++ localPath!= ! func() (* fmt.Println( } fmt.Println(+ err != fmt.Printf( }
<div class="cnblogs_code">
=== strings.Split((data), )
len(strPice) < inputArgs.LocalPath </span>= strPice[<span style="color: #800080">0</span><span style="color: #000000">]
inputArgs.Quality,_ </span>= strconv.Atoi(strPice[<span style="color: #800080">1</span><span style="color: #000000">])
inputArgs.Width,_ </span>= strconv.Atoi(strPice[<span style="color: #800080">2</span><span style="color: #000000">])
pathTemp,top :</span>=<span style="color: #000000"> isPictureFormat(inputArgs.LocalPath)
</span><span style="color: #0000ff">if</span> pathTemp == <span style="color: #800000">""</span><span style="color: #000000"> {
</span><span style="color: #008000">/*</span><span style="color: #008000">* 目录 </span><span style="color: #008000">*/</span>
<span style="color: #008000">/*</span><span style="color: #008000">* 如果输入目录,那么是批量 </span><span style="color: #008000">*/</span><span style="color: #000000">
fmt.Println(</span><span style="color: #800000">"</span><span style="color: #800000">开始批量压缩...</span><span style="color: #800000">"</span><span style="color: #000000">)
rs :</span>=<span style="color: #000000"> []rune(inputArgs.LocalPath)
end :</span>=<span style="color: #000000"> len(rs)
substr :</span>= <span style="color: #0000ff">string</span>(rs[end-<span style="color: #800080">1</span><span style="color: #000000">:end])
</span><span style="color: #0000ff">if</span> substr==<span style="color: #800000">"</span><span style="color: #800000">/</span><span style="color: #800000">"</span><span style="color: #000000"> {
</span><span style="color: #008000">/*</span><span style="color: #008000">* 有 / </span><span style="color: #008000">*/</span><span style="color: #000000">
rs :</span>=<span style="color: #000000"> []rune(inputArgs.LocalPath)
end :</span>=<span style="color: #000000"> len(rs)
substr :</span>= <span style="color: #0000ff">string</span>(rs[<span style="color: #800080">0</span>:end-<span style="color: #800080">1</span><span style="color: #000000">])
endIndex :</span>= strings.LastIndex(substr,<span style="color: #800000">"</span><span style="color: #800000">/</span><span style="color: #800000">"</span><span style="color: #000000">)
inputArgs.OutputPath </span>= <span style="color: #0000ff">string</span>(rs[<span style="color: #800080">0</span>:endIndex])+<span style="color: #800000">"</span><span style="color: #800000">/LghImageCompress/</span><span style="color: #800000">"</span><span style="color: #000000">;
}</span><span style="color: #0000ff">else</span><span style="color: #000000"> {
endIndex :</span>= strings.LastIndex(inputArgs.LocalPath,<span style="color: #800000">"</span><span style="color: #800000">/</span><span style="color: #800000">"</span><span style="color: #000000">)
inputArgs.OutputPath </span>= <span style="color: #0000ff">string</span>(rs[<span style="color: #800080">0</span>:endIndex])+<span style="color: #800000">"</span><span style="color: #800000">/LghImageCompress/</span><span style="color: #800000">"</span><span style="color: #000000">;
}
getFilelist(inputArgs.LocalPath)
}</span><span style="color: #0000ff">else</span><span style="color: #000000">{
</span><span style="color: #008000">/*</span><span style="color: #008000">* 单个 </span><span style="color: #008000">*/</span>
<span style="color: #008000">/*</span><span style="color: #008000">* 如果输入文件,那么是单个,允许自定义路径 </span><span style="color: #008000">*/</span><span style="color: #000000">
fmt.Println(</span><span style="color: #800000">"</span><span style="color: #800000">开始单张压缩...</span><span style="color: #800000">"</span><span style="color: #000000">)
inputArgs.OutputPath </span>= top+<span style="color: #800000">"</span><span style="color: #800000">_compress.</span><span style="color: #800000">"</span>+<span style="color: #000000">format
</span><span style="color: #0000ff">if</span> !<span style="color: #000000">imageCompress(
func() (io.Reader,error){
</span><span style="color: #0000ff">return</span><span style="color: #000000"> os.Open(inputArgs.LocalPath)
},func() (</span>*<span style="color: #000000">os.File,error) {
</span><span style="color: #0000ff">return</span><span style="color: #000000"> os.Open(inputArgs.LocalPath)
},inputArgs.OutputPath,inputArgs.Quality,inputArgs.Width,format) {
fmt.Println(</span><span style="color: #800000">"</span><span style="color: #800000">生成缩略图失败</span><span style="color: #800000">"</span><span style="color: #000000">)
}</span><span style="color: #0000ff">else</span><span style="color: #000000">{
fmt.Println(</span><span style="color: #800000">"</span><span style="color: #800000">生成缩略图成功 </span><span style="color: #800000">"</span>+<span style="color: #000000">inputArgs.OutputPath)
finish()
}
}</span><span style="color: #000000">
}
<div class="cnblogs_code">
getDecodeFile func() (* to format )
file_origin,err := err != fmt.Println(
temp,err = err != fmt.Println(
format =
format== || format == typeImage =
origin,err = err != fmt.Println(
temp,err = err != fmt.Println(
config,err = err != fmt.Println(
} format== typeImage =
origin,err = err != fmt.Println(
temp,err = err != fmt.Println(
config,err = err != fmt.Println(
width := ()
height := (*config.Height/
canvas := file_out,err := err !=
typeImage== err = err!= fmt.Println( |