凡客网站目录优化,手机网站开发制作,建设银行常熟支行网站,百度seo效果优化只有一个文件地址#xff0c;但是没有文件名称#xff0c;文件地址#xff1a;http://XXXXXXX/getfile.aspx?fileid999 但是系统需要把文件名称也写入到数据库 可以根据 resp.Header[Content-Disposition] 获取文件名 resp.Header[Content-Disposition但是没有文件名称文件地址http://XXXXXXX/getfile.aspx?fileid999 但是系统需要把文件名称也写入到数据库 可以根据 resp.Header[Content-Disposition] 获取文件名 resp.Header[Content-Disposition]是一个 JSON对象
[{[0]:attachement;filenameBT-3189%e4%b8%8b%e5%a3%b3(TD).pdf}]//复制文件到本地func copyOaFileToPms(fileid) (int, error) {filePath : http://XXXXXXX/getfile.aspx?fileid fileidresp, err : http.Get(filePath)if err ! nil {return 0, err}defer resp.Body.Close()fileName : getFilenameFromContentDisposition(resp.Header[Content-Disposition])fmt.Println(文件名为:, fileName)fileName, _ url.QueryUnescape(fileName)fmt.Println(解码后文件名为:, fileName)if len(fileName) 0 {sbjlog.Debug(copyOaFileToPms 根据文件名获取文件id失败fileName:%v, fileName)return 0, errors.New(获取文件名称失败)}// 获取文件后缀名fileExt : path.Ext(fileName)// 得到文件名不带后缀onlyFileName : strings.TrimSuffix(fileName, fileExt)onlyFileName strings.ToUpper(onlyFileName) //文件名转大写fileNameAndExt : onlyFileName strings.TrimPrefix(fileExt, .) //文件名后缀作为新的文件名
......
}// 从 Content-Disposition 头部信息中提取文件名
func getFilenameFromContentDisposition(contentDispositions []string) string {filename : for _, part : range contentDispositions {keyValue : strings.SplitN(part, , 2)if len(keyValue) 2 strings.Contains(keyValue[0], filename) {filename keyValue[1]return filename}}return filename
}