aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislusf <chris.lu@gmail.com>2015-01-09 11:55:05 -0800
committerchrislusf <chris.lu@gmail.com>2015-01-09 11:55:05 -0800
commit889099ac0d70b851d5258ba5f253b1a0096ee55f (patch)
treedb0d729090c19d692ad0deb2d716f2b9d31cfe31
parent2c1a846279c172bcae457e70efa142c29a18892e (diff)
parent7481b7376d0349938a99b08e5dfab0b2009b2e89 (diff)
downloadseaweedfs-889099ac0d70b851d5258ba5f253b1a0096ee55f.tar.xz
seaweedfs-889099ac0d70b851d5258ba5f253b1a0096ee55f.zip
Merge pull request #56 from EPICPaaS/master
Fix the first form multi-part item is not a "file type part" problem in "ParseUpload()"
-rw-r--r--go/storage/needle.go17
1 files changed, 13 insertions, 4 deletions
diff --git a/go/storage/needle.go b/go/storage/needle.go
index 11610dd80..a24169c00 100644
--- a/go/storage/needle.go
+++ b/go/storage/needle.go
@@ -60,11 +60,20 @@ func ParseUpload(r *http.Request) (fileName string, data []byte, mimeType string
return
}
part, fe := form.NextPart()
- if fe != nil {
- glog.V(0).Infoln("Reading Multi part [ERROR]", fe)
- e = fe
- return
+ for {
+ if fe != nil {
+ glog.V(0).Infoln("Reading Multi part [ERROR]", fe)
+ e = fe
+ return
+ }
+
+ if part.FileName() != "" {
+ break //found the first <file type> multi-part
+ }
+
+ part, fe = form.NextPart()
}
+
fileName = part.FileName()
if fileName != "" {
fileName = path.Base(fileName)