首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Blueimp带有代码点火器的文件上传、重命名和调整图像大小

问Blueimp带有代码点火器的文件上传、重命名和调整图像大小
EN

Stack Overflow用户
提问于 2018-05-29 10:15:55
回答 1查看 811关注 0票数 0

我已经寻找和尝试了很多很多天,我正在使用

Blueimp jQuery-文件上传

对于使用codeigniter的多个文件上传,我有关于使用它的一些方面的问题:

  1. 如何用像15_1.jpg / 15_2.jpg / 15_3.jpg这样的串行文件重命名上传的文件
  2. 如何使用相同的表单提交两次,第一次提交上传,第二次提交插入数据库输入。
  3. 如何在上传前调整图像大小
EN

回答 1

Stack Overflow用户

发布于 2018-05-29 10:56:48

(1)用于重命名而不是

代码语言:javascript
复制
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $_FILES["file"]["name"]);

做这个,

代码语言:javascript
复制
$temp = explode(".", $_FILES["file"]["name"]);
$newfilename = round(microtime(true)) . '.' . end($temp);
move_uploaded_file($_FILES["file"]["tmp_name"], "../img/imageDirectory/" . $newfilename);

将根据当前时间生成一个随机数,并从最初上传的文件中追加扩展名。

2)使用相同的表单上传和插入,需要两个按钮

代码语言:javascript
复制
$(function () {
    $('#fileupload').fileupload({
        dataType: 'json',
        add: function (e, data) {
            data.context = $('<button/>').text('Upload')
                .appendTo(document.body)
                .click(function () {
                    data.context = $('<p/>').text('Uploading...').replaceAll($(this));
                    data.submit();
                });
        },
        done: function (e, data) {
            data.context.text('Upload finished.');
        }
    });
});

类似地,用于插入、创建另一个函数并调用它。

3)上传前调整图片大小?它们使您可以进行客户端映像调整,您需要包括以下脚本:

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<!-- The jQuery UI widget factory, can be omitted if jQuery UI is already included -->
<script src="js/vendor/jquery.ui.widget.js"></script>
<!-- The Load Image plugin is included for the preview images and image resizing functionality -->
<script src="https://blueimp.github.io/JavaScript-Load-Image/js/load-image.all.min.js"></script>
<!-- The Canvas to Blob plugin is included for image resizing functionality -->
<script src="https://blueimp.github.io/JavaScript-Canvas-to-Blob/js/canvas-to-blob.min.js"></script>
<!-- The Iframe Transport is required for browsers without support for XHR file uploads -->
<script src="js/jquery.iframe-transport.js"></script>
<!-- The basic File Upload plugin -->
<script src="js/jquery.fileupload.js"></script>
<!-- The File Upload processing plugin -->
<script src="js/jquery.fileupload-process.js"></script>
<!-- The File Upload image preview & resize plugin -->
<script src="js/jquery.fileupload-image.js"></script>

然后,只需将选项disableImageResize设置为false。默认情况下,图像大小调整为FullHD (1920x1080),但您可以定义自己的选项:

代码语言:javascript
复制
$('#fileupload').fileupload({
    url: '//jquery-file-upload.appspot.com/',
    dataType: 'json',
    // Enable image resizing, except for Android and Opera,
    // which actually support image resizing, but fail to
    // send Blob objects via XHR requests:
    disableImageResize: /Android(?!.*Chrome)|Opera/
        .test(window.navigator && navigator.userAgent),
    imageMaxWidth: 800,
    imageMaxHeight: 800,
    imageCrop: true // Force cropped images
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50581824

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档