Skip to content

Commit 366d1ec

Browse files
committed
Merge pull request android-async-http#226 from coffeesherk/master
fix bug of post 'multipart/form-data' request without file data
2 parents 6beb228 + 078321a commit 366d1ec

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

src/com/loopj/android/http/SimpleMultipartEntity.java

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,36 +58,36 @@ public SimpleMultipartEntity() {
5858

5959
public void writeFirstBoundaryIfNeeds(){
6060
if(!isSetFirst){
61-
try {
62-
out.write(("--" + boundary + "\r\n").getBytes());
63-
} catch (final IOException e) {
64-
e.printStackTrace();
65-
}
61+
writeBoundary();
6662
}
6763

6864
isSetFirst = true;
6965
}
7066

71-
public void writeLastBoundaryIfNeeds() {
72-
if(isSetLast){
73-
return;
74-
}
75-
67+
public void writeBoundary() {
7668
try {
77-
out.write(("\r\n--" + boundary + "--\r\n").getBytes());
69+
out.write(("--" + boundary + "\r\n").getBytes());
7870
} catch (final IOException e) {
7971
e.printStackTrace();
8072
}
73+
}
74+
75+
public void writeLastBoundaryIfNeeds() {
76+
if(isSetLast){
77+
return;
78+
}
8179

80+
writeBoundary();
81+
8282
isSetLast = true;
8383
}
8484

8585
public void addPart(final String key, final String value) {
86-
writeFirstBoundaryIfNeeds();
86+
writeBoundary();
8787
try {
8888
out.write(("Content-Disposition: form-data; name=\"" +key+"\"\r\n\r\n").getBytes());
8989
out.write(value.getBytes());
90-
out.write(("\r\n--" + boundary + "\r\n").getBytes());
90+
out.write(("\r\n").getBytes());
9191
} catch (final IOException e) {
9292
e.printStackTrace();
9393
}
@@ -98,7 +98,7 @@ public void addPart(final String key, final String fileName, final InputStream f
9898
}
9999

100100
public void addPart(final String key, final String fileName, final InputStream fin, String type, final boolean isLast){
101-
writeFirstBoundaryIfNeeds();
101+
writeBoundary();
102102
try {
103103
type = "Content-Type: "+type+"\r\n";
104104
out.write(("Content-Disposition: form-data; name=\""+ key+"\"; filename=\"" + fileName + "\"\r\n").getBytes());
@@ -110,8 +110,7 @@ public void addPart(final String key, final String fileName, final InputStream f
110110
while ((l = fin.read(tmp)) != -1) {
111111
out.write(tmp, 0, l);
112112
}
113-
if(!isLast)
114-
out.write(("\r\n--" + boundary + "\r\n").getBytes());
113+
out.write(("\r\n").getBytes());
115114
out.flush();
116115
} catch (final IOException e) {
117116
e.printStackTrace();

0 commit comments

Comments
 (0)