小编S.B*_*oda的帖子

在iOS11上的JavaScript中上传之前如何检测heic图像?

我们有一个图像上传应用程序,我们在上传之前使用外部JavaScript库在客户端压缩图像。

现在,在上传扩展名为.heif或的图像文件时,我们遇到了iOS11特有的问题.heic

作为示例,当我们提交带有abc.heic图像的表单时,尝试通过上述库进行压缩时,客户端浏览器应用程序崩溃。因此,我们希望限制将.heic图像附加到图像输入。

不幸的是,我们无法.heic在服务器端识别(我认为是)图像,因为我们abc.jpg在后端收到文件名,因为iOS11 在上传之前会自动将.heic图像转换为jpg图像。

因此,我想在客户端进行检测,但是当我使用下面的代码在客户端检查文件MIME类型时,它会返回image/jpg(实际上我没有iPhone,所以其他一些朋友为我做了)。因此,在我检查MIME类型之前,.heic图像似乎jpg已由iOS11内部转换为图像。(但是由于某些原因,这些转换后的jpg文件无法由该库压缩)

$(document).on('change', '[id=uploading_file]', (evt) => {
    'use strict'
    const files = [...evt.target.files];
    var uploadingFile = files[0];
    var fileType = uploadingFile["type"]; // get file MIME type
    var ValidImageTypes = ["image/jpg", "image/jpeg", "image/png", "image/gif", "image/bmp"];

    if (jQuery.inArray(fileType, ValidImageTypes) >= 0) {
        // image compression code goes here.
    }
});
Run Code Online (Sandbox Code Playgroud)

一些替代解决方案:

我也做了一些其他的修正,以免附加 …

javascript html5 image-uploading ios11

10
推荐指数
1
解决办法
1378
查看次数

在循环中更改图像 - Android

我想知道为什么我仍然无法想办法做到这一点.虽然看起来很简单,但我花了整整一天的时间.但不能这样做.

我有一组骰子图像.1.png,2.png,....和6.png.我的布局中有一个ImageView.那是,

ImageView dice = (ImageView) findViewById(R.id.imageViewrollingdiceOne);
Run Code Online (Sandbox Code Playgroud)

在这里,我想快速更改此imageView以查看使用上述6个图像的某种视觉/动画.为此我写下了一段代码.

代码1:

for (int j=0;j<10;j++){
        int randomNum = random.nextInt(6);
            System.out.println("Random Value " + randomNum);
            dice.setImageResource(images[randomNum]);               
    }
Run Code Online (Sandbox Code Playgroud)

输出:

没有视觉效果.imageView保持不变,并在循环最后一次迭代时突然改变.我认为这是因为循环执行速度非常快.然后我做了以下.

代码2:

for (int j=0;j<10;j++){
        int randomNum = random.nextInt(6);
            System.out.println("Random Value " + randomNum);
            dice.setImageResource(images[randomNum]);
            try {
                Thread.sleep(200);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }               
    }
Run Code Online (Sandbox Code Playgroud)

输出:

再一次没有视觉效果.imageView保持不变,并在循环最后一次迭代时突然改变.然后我做了以下.

代码3:

final Handler localHandler = new Handler();
    Runnable runnableObject = new Runnable() {
        public void run() {
            final ImageView dice = (ImageView) findViewById(R.id.imageViewrollingdiceOne); …
Run Code Online (Sandbox Code Playgroud)

java android for-loop thread-sleep

3
推荐指数
1
解决办法
9302
查看次数

Apache用户帐户无密码访问服务器 - Ubuntu

我在这个问题上有同样的问题.如果我再解释一下,我可以使用rsync将我的本地数据与服务器同步而无需密码(我使用SSH密钥).但是当我在PHP中使用exec()函数时,它不起作用.

问过上述问题的人自己给出了答案.他说,可以通过允许Apache用户帐户无密码访问服务来完成.所以我的问题是我如何提供Apache用户帐户无密码访问服务器

我的PHP代码是:

echo exec('rsync -aze  --progress --size-only /var/tmp/src/File01 serveruser@mycloud.com.lk:/var/tmp/dest/File01');
Run Code Online (Sandbox Code Playgroud)

PS:我使用我的典型用户帐户登录我的机器(假设用户名是' bob '),并使用生成的ssh密钥ssh-keygen -t rsa.然后bob有无密码访问服务器.

但是,当我运行PHP命令时,它在Apache下运行mod_php并且通常Apache作为自己的用户帐户运行,独立于使用服务器的真实世界的人.因此我生成的密钥不适用于Apache内部的PHP.

因此我尝试以Apache用户身份登录(我认为它是www-data).但大多数文章都说www-data默认没有密码,不能以www-data身份登录.

谢谢.

php apache ssh rsync

3
推荐指数
1
解决办法
3827
查看次数