我在移植到Android的iOS应用程序中有一个照片上传图像小部件.数据以multipart/form-data格式作为HTTP POST发送.我需要在Android中复制这个但是遇到了一些问题.
现有的iOS代码段:
if ([[dictionary objectForKey:key] isKindOfClass:[UIImage class]]) {
NSData *imageJPEG = UIImageJPEGRepresentation([dictionary objectForKey:key], 1);
NSString *filename = [NSString stringWithFormat:@"%@.jpg", key];
[(ASIFormDataRequest *)request setData:imageJPEG withFileName:filename andContentType:@"image/jpeg" forKey:key];
}
Run Code Online (Sandbox Code Playgroud)
在Android上我正在尝试:
Bitmap fullImage = MediaStore.Images.Media.getBitmap(this.getContentResolver(), selectedImageUri);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
fullImage.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] b = baos.toByteArray();
String encodedImage = Base64.encodeToString(b, Base64.DEFAULT);
Run Code Online (Sandbox Code Playgroud)
结果字符串对于两个平台上的相同图像是不同的,但结果是Android图像在上载后不在服务器端呈现.
什么是UIImageJPEGRepresentation的Android/Java相当于将图像转换为包含jpeg编码图像的字节数组?
我试图完全消除移动浏览器中长按元素时发生的振动.
具体来说,我有一个图像,我正在添加我自己的长按功能,但默认发生的微妙的短振动是干扰,我需要禁用它.
我通过覆盖它成功地停止了通常的上下文菜单,如下所示:
window.oncontextmenu = function (event) {
event.preventDefault();
event.stopPropagation();
return false;
};
Run Code Online (Sandbox Code Playgroud)
我还添加了CSS来停止突出显示和文本选择等 - 但我几乎没有能够弄清楚几百毫秒后导致默认振动的原因.
是否有其他生命周期事件在oncontextmenu内部或周围的移动浏览器中长时间弹出?
完整的plunker示例在这里,从移动浏览器上长按图像(我在Android上使用chrome)看看我的意思:https://plnkr.co/edit/y1KVPltTzEhQeMWGMa1F?p = preview