旧代码存在问题,发送到服务器的图像是缩略图(太小)。因此,借助新代码,Android改变了获取实际尺寸图像的方式。但是,新代码无法将文件上传到服务器。它说文件名是空的,并且当我登录正文时,请求的结果与旧代码不同。任何帮助,我都非常感激,因为近一个星期我仍然找不到新代码的问题。
///////// This is old cold//////////////////////////////////
///////////////////////////////////////////////////////////
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, REQUEST_CAMERA);
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data != null) {
switch (resultCode) {
case Activity.RESULT_CANCELED: {
break;
}
case Activity.RESULT_OK: {
if (requestCode == REQUEST_CAMERA) {
Bitmap thumbnail = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, bytes);
if (typePhoto.equals("ftCarLol")) {
carLoL = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + "ftLol.png");
FileOutputStream fo = null;
try {
carLoL.createNewFile();
fo = new FileOutputStream(carLoL);
fo.write(bytes.toByteArray());
fo.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
ftCar.setImageBitmap(thumbnail);
}
if (typePhoto.equals("sdcarLol")) {
sdCad = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + "sdCars.png");
FileOutputStream fo = null;
try {
sdCad.createNewFile();
fo = new FileOutputStream(sdCad);
fo.write(bytes.toByteArray());
fo.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
sdCar.setImageBitmap(thumbnail);
}
}
break;
}
}
}
}
// in retrofit
MultipartBody.Part[] imageUserList = new MultipartBody.Part[2];
RequestBody propertyImage = null;for(
int i = 0;i<2;i++)
{
if (i == 0) {
propertyImage = RequestBody.create(MediaType.parse("image/*"), carLoL);
imageUserList[i] = MultipartBody.Part.createFormData("car", carLoL.getName(), propertyImage);
}
if (i == 1) {
propertyImage = RequestBody.create(MediaType.parse("image/*"), sdCad);
imageUserList[i] = MultipartBody.Part.createFormData("sd", sdCad.getName(), propertyImage);
}
}
// Call function interface retrofit
Call<JsonObject> clientreq = client.submitReport(imageUserList);
// interface retrofit
@Multipart
@POST("TestReport")
Call<JsonObject>submitReport(@Part MultipartBody.Part[] files);
/////////////////////// new code////////////////////////////////////
File tempFile = new File(Environment.getExternalStorageDirectory(), "tmp.png");
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri photoURI = FileProvider.getUriForFile(this, "cntsb.com.rodeo.fileprovider", tempFile);
// result activity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQUEST_CAMERA && resultCode == RESULT_OK) {
if (typeChoose.equals("sdcarLol")) {
sdCad = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() +"sdCars.png");
try {
sdCad.createNewFile();
if(tempFile.renameTo(sdCad)) {
Glide.with(context).load(sdCad).into(sdCar);
}
} catch (IOException e) {
e.printStackTrace();
}
}
if (typeChoose.equals("ftCarLol")){
carLoL = new File(Environment.getExternalStorageDirectory(),
System.currentTimeMillis() + "ftLol.png");
try {
carLoL.createNewFile();
if(tempFile.renameTo(carLoL)) {
Glide.with(context).load(carLoL).into(ftCar);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
// attach file into retrofit
MultipartBody.Part[] imageUserList = new MultipartBody.Part[2];
RequestBody propertyImage = null;for(
int i = 0;i<2;i++)
{
if (i == 0) {
propertyImage = RequestBody.create(MediaType.parse("image/*"), carLoL);
imageUserList[i] = MultipartBody.Part.createFormData("car", carLoL.getName(), propertyImage);
}
if (i == 1) {
propertyImage = RequestBody.create(MediaType.parse("image/*"), sdCad);
imageUserList[i] = MultipartBody.Part.createFormData("sd", sdCad.getName(), propertyImage);
}
}
// Call function interface retrofit
Call<JsonObject> clientreq = client.submitReport(imageUserList);
预期结果:在日志请求正文之后
�PNG
������IHDR��������������������}��������s��O����� ��IDATx�\�k�d�q%�wĹ7���h4��B$%R�F������|�G�k��g$��z-{F=H�C
$�@t��g>�9��f������2o�s"b��;��/�o�&�Hp��)��4�l��gs�� � ��I@FdN�'l9�ۭ��� �� ejb�H�q��,��':Jw�D)`�4�"ő 3#9��Lg���d LF���f:߸5O��L�bhn��HN�$) !�$�dDЍ�� -F���e0E)�� ��[r$DP���6� �����T��4���1�`��+4�$M���%s�sR�L�� ��B�D2�������$Ѥ$������RRԚ.cDv����[(3����R�Df�9:"a23R!����"!)��BL�dfRQ[��C��jl����{}�e9�
e�0���s(d�T��H)QR(���H@fX����)���Hm2(Aa�C��$��i6��"�%q������LfI(�F���Zf�$
�d2If�0���Y�LF����`��D$pGI����(364��6�eO���@dD$֣�Ӻ�0�$IA����[I!���'LI��9�@i֤>ƨ?���0��ʡ��&��4$��DMn�.�ljH���IR��
4 �9���PH��ƒ@D�4��͐��@�Y��]Rf���1s�� $�"I�� ��c����7)3��f���xR�C)i$���U�X�}u�ZSw�il��H��`��吹�:��mM +����m�z���S(�XX'֜Z�f�3@!�)I�"�@��ެ>�c���i�����E��S��d(33"�9���tw%ͽ��H2I�9J)�C���$Ț�2�L$��ȔxX��K
�<7��4�S��H&epI�j�Բ�1z��L���b����\c��`��\?�H�jM�0� R@ ��|<Q� QI���6ײ$է����j�"S�,��?u���D���zI8��f����ˈTD�ߎr��_=�`��3��H��˼2���I!����5nͥ�+�Y�uְnF=���~`�B��״�`մ�����̬MDssw�%2s�NfBf(qJ
ID�2S\�HV�!����R�Z��Hef�H�8��z�ua���4��:H�Q{��t�Uj�I1���_V����@!AEJ
[��CffHO������jwk�!���5�CT��E���,c�/���:��rN��`����@B���<������ʢ���썭��YYE�)V��9�R6�f��4�$ dB0�U3SF��f�����X���FV
��1tJ5\��tk���VxT�S��������&V4��I�H4d��LO���.h*#�))���M-s���&@33���$d3I$�m=�`m�d�/��{�`)���
=��F���L3�H$��4��gIt��Ar@f03�G�q%Y�N@~ʼv�1�̯���I2��HZq2m�me��!i2.�RI�S$h(�5��R�����5���wP�ҪC8�^>��S�]SY�##��i�TbG�g2bT:�F Ɍ��&o�H`>��pnI�Ԛ(��
4dk�"N�i$�4{%h"Sn�Ќ��D�ZkUN��{���z�@����4k
dB��[Y(C��I��if ������tx%n���kMO�I��Lr�(�=�ehHLA9F0*��V(\�����2S^�B��$�.)B�QHiD�(�*kם�4M����H�9�fNfV+r
���(�16�R���.<ǪRF�,�d$92��aP��.#����ښ"ift0:�)�ܽ���G�&�(d_�H+df���j�)��7���$Vk���(#9MS5v�d�zP�� ��BdJ�1����D���ٚ�����z�2�@��c��UxQh6R˲��N�iE�nS��s��Tݵ��@DdF��C'��D�<��$��J0����^ߨ�s��ڒ��C�bD�y������I��֚Y�@�� ���������" @LU!Y����53W�!L2m����U�Y��(xM2�R�A�jg�v*���6W:�r��jX$�6RZѝ5�t��)��<G��BM(Y����y��7��c���2N��R�1WT`�٦*�IV�è����D�Ĝ���2��^ �8U�GkE�$��N8
(���hk/�#��3�nS�5�g��r<���ՙ����0�<���}D�,�Wi@�P�t�$ִ����0"j����D��
新代码中的错误:
����A2Exif����MM��*�����������������������������������������������������������������������������������������������������������������������������(��������������1���������������2������������������������������i����������������!8HUAWEI����DUK-L09��������H������������H������DUK-L09 9.0.1.176(C636E2R1P5)�����2019:07:04 10:46:13����.��������������������������������P�������������� ʈ"���������������'������������������������0210������������� ڐ������������ ������������������������ ��
����������X������������� Ғ��
����������@���
����������H������������� ������������������������������� ���������������
������������0�|��������d���� N�|����������� ��|��������/�������|�����������`�|������������ H��������������!��������������!
��������������!�����������0100��������������������������������������������������������!�������������������������������������������������������������������������������������������������������������8������������������������������������������������������������������ �����������������
����������������������������������������������������������d������d����������������������������
����;������������'#*#*201709272016::76������/��`����������DLBB8�}N�������������������::76������/��`����������DLBB8�}N�������������������::76������/��`����������DLBB8�}N�������������������::54������/��`�����@����AIBB8�wN�������������������::54����/����`�����@����AIBB8�wN�������������������::54����/����`�����@����AIBB8�wN�������������������::2����.����`�����@����=EBB8�rN�������������������::0/������-��`�����@����:CBB8�oN��������������������� ��4����B������������������������������������������275��h����� ��+����j^SJC>93+$m_TKD?:4,%o`ULE?:4-%qbVME?:5.&sdWMF@;7/' ueXMFA=70( vfXNGA=81)!vfYNGB=81)"ufYOGB>92*"teZOHB>:3+#tfZPIC>:4+$tfZQIC>:4,$sfZRJD>:4,%qdZRJD?:4-%odZQJD?:5-&mcYQJD?:5.&������������������������������������������������������������������������������������:�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������J���@�������������������������������������������x�� �������F��F��������������������������������������� ����������������������*������:����������������������*������:������(��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������