0

我正在使用 jquery 插件 transloadit 将图像上传到我的 amazon s3 存储桶。
我现在所拥有的只是一个简单的调整大小并上传到我在亚马逊上的图像文件夹。

现在我想在带有其他输入字段的表单中使用上传器。如果您在单击图像上传按钮时选择一张图片,您将获得图像的预览,但该图像尚未上传。当您单击整个表单的“提交”时,图像将被上传。

有人可以帮我解决这个问题或让我上路吗?

这是我将图像上传到亚马逊的代码:

<form id="UploadForm" action="/index/upload" enctype="multipart/form-data" method="POST">
<input type="file" name="my_file" multiple="multiple" />

$(function() {
    // We reference our html form here
    $('form#UploadForm').transloadit({
        wait: true,
        triggerUploadOnFileSelection: true,
        params: {
            auth: { key: "key" },
            template_id: "templateid"
        }
    });
});


public function uploadAction()
{
    $this->_helper->layout->disableLayout();
    $this->_helper->viewRenderer->setNoRender();

    $transloaditData = $_POST['transloadit'];
    if (ini_get('magic_quotes_gpc') === '1') {
        $transloaditData = stripslashes($transloaditData);
    }
    $transloaditData = json_decode($transloaditData, true);

    foreach ($transloaditData['uploads'] as $upload) {
        // do something with the uploaded file here
    }

    foreach ($transloaditData['results'] as $encodingResult) {
        // do something with the encoding result here here,
        // like saving its URL to the database
    }
}
4

1 回答 1

1

试试文件阅读器

function readURL(input) {
    if (input.files && input.files[0]) {
        var reader = new FileReader();

        reader.onload = function (e) {
            $('#blah').attr('src', e.target.result);
        }

        reader.readAsDataURL(input.files[0]);
    }
}

$("#imgInp").change(function(){
    readURL(this);
});

http://jsfiddle.net/LvsYc/

于 2013-10-01T14:49:03.460 回答