上传前没有质量损失的多图像压缩

时间:2015-06-17 08:03:22

标签: jquery ajax razor model-view-controller

我需要将多个图像上传到服务器,但在上传之前,必须在客户端压缩而不会丢失质量(使用jQuery)。

有没有办法获得每张图片的宽度和高度?

 <script type="text/javascript">
    $(document).ready(function() {
        $("#Upload").click(function() {
            var formData = new FormData();
            var image = new Image();
            var totalFiles = document.getElementById("fileUpload").files.length;

            for (var i = 0; i < totalFiles; i++) {
                var file = document.getElementById("fileUpload").files[i];
                formData.append("fileUpload", file);
            }

            $.ajax({
                type: "POST",
                url: '/Ajaximage/Upload',
                data: formData,

                dataType: 'json',
                contentType: false,
                processData: false,
                success: function(response) {
                    //alert('succes!!');
                },
                error: function(error) {
                    //alert("Failed");
                }
            });
        });
    });
</script>

1 个答案:

答案 0 :(得分:0)

在您使用ajax调用的Web服务上收到文件后。将它转换为System.Drawing.Image对象。如果是System.Drawing.Image对象,可以使用“高度”和“宽度”属性获取图像的高度和宽度。

通过压缩,我认为你的意思是调整图像大小 试试这个功能

awk '
    $1 ~ /^(sed|sort)$/ {
        print "\n    ```"
        while ($1 ~ /^(sed|sort)$/) {
            sub(/^[ \t]*/, "    ")
            print
            if (!getline) {
                print "    ```\n"
                exit
            }
        }
        print "    ```\n"
    }
    1'

会有轻微的质量损失,但会保持宽高比