Skip to content

Commit 7853d37

Browse files
authored
Merge pull request #454 from microsoftgraph/bugfix/profile-photo-cast
- fixes a bug where uploading a profile photo would result in an invalid cast exception
2 parents fe68cb6 + 4086d10 commit 7853d37

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

src/main/java/com/microsoft/graph/http/CoreHttpProvider.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,8 +398,13 @@ public MediaType contentType() {
398398
} else {
399399
logger.logDebug("Response binary");
400400
isBinaryStreamInput = true;
401-
//no inspection unchecked
402-
return (Result) handleBinaryStream(in);
401+
if (resultClass == InputStream.class) {
402+
return (Result) handleBinaryStream(in);
403+
} else if(response.body() != null && response.body().contentLength() > 0) { // some services reply in text/plain with a JSON representation...
404+
return handleJsonResponse(in, CoreHttpProvider.getResponseHeadersAsMapOfStringList(response), resultClass);
405+
} else {
406+
return (Result) null;
407+
}
403408
}
404409
} finally {
405410
if (!isBinaryStreamInput) {

src/test/java/com/microsoft/graph/functional/UserTests.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import static org.junit.Assert.assertNotNull;
44

5+
import java.io.File;
6+
import java.io.FileInputStream;
57
import java.io.InputStream;
68
import java.util.List;
79

@@ -12,6 +14,7 @@
1214
import com.microsoft.graph.models.extensions.Drive;
1315
import com.microsoft.graph.models.extensions.DriveItem;
1416
import com.microsoft.graph.models.extensions.IGraphServiceClient;
17+
import com.microsoft.graph.models.extensions.ProfilePhoto;
1518
import com.microsoft.graph.models.extensions.User;
1619
import com.microsoft.graph.requests.extensions.IContactCollectionPage;
1720
import com.microsoft.graph.requests.extensions.IDirectoryObjectCollectionWithReferencesPage;
@@ -122,6 +125,13 @@ public void usersKeyPhotoValueTest() {
122125
}
123126
}
124127

128+
@Test
129+
public void updateUserPhotoValueTest() throws Exception {
130+
final File photo = new File("src/test/resources/hamilton.jpg");
131+
final InputStream fileStream = new FileInputStream(photo);
132+
graphServiceClient.me().photo().content().buildRequest().put(OutlookTests.getByteArray(fileStream));
133+
}
134+
125135
@Test
126136
public void getOrganization() {
127137
//GET organization

0 commit comments

Comments
 (0)