我正在尝试使用PHP上传文件ajax jquery文件正在上传但是格式已损坏我怎样才能使其正确。
在我的控制器中我正在使用
$product_image = $request->getParam("product_image");
defined('PUBLIC_PATH') || define('PUBLIC_PATH', realpath(dirname(dirname(dirname(dirname(dirname(__FILE__)))))));
$filename = time() . rand(10000, 99999) . ".jpg";
file_put_contents(PUBLIC_PATH . "/public_html/product_images/" . $filename, base64_decode($product_image));
$products->__set("product_image", $filename);
$data = array(
"product_image" => $this->view->baseUrl() . "/product_images/" . $filename,
);
在ajax文件中
var p_image = $('#product_image').val();
$.ajax({
type: "POST",
url: '<?php echo $this->baseUrl(); ?>/api/products/add',
data : {product_image:p_image},
dataType: 'json',
success: function(response){
if (response.data.product_id == true) {
alert("Success");
alert(response.data.product_image);
获取上传文件的内容是
windows photo viewer无法打开此图片,因为该文件似乎已损坏,已损坏或过大。
请指导。
答案 0 :(得分:0)
在记事本等文本编辑器中打开照片文件,您会发现它可能包含p_image的字符串值。更具体地说,您实际上并没有上传任何内容。我建议使用类似jQuery的ajaxForm来上传ajax。
$('#myForm').ajaxForm(function() {
alert("Form is submitted");
});
教程:
http://hayageek.com/ajax-file-upload-jquery/
文档: