diff options
| author | chrislusf <chris.lu@gmail.com> | 2015-01-09 11:55:05 -0800 |
|---|---|---|
| committer | chrislusf <chris.lu@gmail.com> | 2015-01-09 11:55:05 -0800 |
| commit | 889099ac0d70b851d5258ba5f253b1a0096ee55f (patch) | |
| tree | db0d729090c19d692ad0deb2d716f2b9d31cfe31 | |
| parent | 2c1a846279c172bcae457e70efa142c29a18892e (diff) | |
| parent | 7481b7376d0349938a99b08e5dfab0b2009b2e89 (diff) | |
| download | seaweedfs-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.go | 17 |
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) |
