Javascript 在控制器的div中显示图像?
我正在将图像保存到公用文件夹中,现在我想将其显示在已定义的Javascript 在控制器的div中显示图像?,javascript,jquery,html,laravel,laravel-blade,Javascript,Jquery,Html,Laravel,Laravel Blade,我正在将图像保存到公用文件夹中,现在我想将其显示在已定义的中如何实现 控制器: public function testing(Request $request) { if($request->hasFile('img')); { $image = Input::file('img'); $filename = time() . '.' . $image->getClientOriginalExtension(); $p
中如何实现
控制器:
public function testing(Request $request) {
if($request->hasFile('img'));
{
$image = Input::file('img');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('images/' . $filename);
Image::make($image->getRealPath())->resize(200, 200)->save($path);
$file = $request->file('img');
return response()->file($file);
}
}
JS:
刀片:
<form id="upload_form" action="{{ action('BuilderController@testing') }}" enctype="multipart/form-data" role="form" method="POST">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<input name="img" id="img" class="form-control filestyle margin images" data-input="false" type="file" data-buttonText="Upload Logo" data-size="sm" data-badge="false" onchange="submitImage();" />
</form>
<div class="logo">
<img class="images" id="image" src="#" alt="Your Logo"/>
</div>
因此,我想将
src=“#”
更改为保存图像的路径,例如“C://xampp/htdocs/laravel/public/image/1.jpg”
将控制器中的返回方法更改为:
return ['url' => url('images/' . $filename)];
然后将success
方法添加到ajax
调用中:
$.ajax({
url:'template',
data: fd,
dataType: 'json',
async: false,
type: 'post',
processData: false,
contentType: false,
success: function (data) {
$("#image").attr("src", data.url)
}
});
希望这有帮助 将控制器中的返回方法更改为:
return ['url' => url('images/' . $filename)];
然后将success
方法添加到ajax
调用中:
$.ajax({
url:'template',
data: fd,
dataType: 'json',
async: false,
type: 'post',
processData: false,
contentType: false,
success: function (data) {
$("#image").attr("src", data.url)
}
});
希望这有帮助 将控制器代码更改为
public function testing(Request $request) {
if($request->hasFile('img'));
{
$image = Input::file('img');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('images/' . $filename);
Image::make($image->getRealPath())->resize(200, 200)->save($path);
$file = $request->file('img');
$response = [];
$response['name'] = $path;
return json_encode($response);
}
}
并在JS中添加一个成功代码,该代码将更改图像的url
$.ajax({
url:'template',
data: fd,
dataType:'json',
async:false,
type:'post',
success: function (data) {
var img_loc = JSON.parse(data).name;
$("#image").attr('src', img_loc);
},
processData: false,
contentType: false,
});
}
将控制器代码更改为
public function testing(Request $request) {
if($request->hasFile('img'));
{
$image = Input::file('img');
$filename = time() . '.' . $image->getClientOriginalExtension();
$path = public_path('images/' . $filename);
Image::make($image->getRealPath())->resize(200, 200)->save($path);
$file = $request->file('img');
$response = [];
$response['name'] = $path;
return json_encode($response);
}
}
并在JS中添加一个成功代码,该代码将更改图像的url
$.ajax({
url:'template',
data: fd,
dataType:'json',
async:false,
type:'post',
success: function (data) {
var img_loc = JSON.parse(data).name;
$("#image").attr('src', img_loc);
},
processData: false,
contentType: false,
});
}
为什么不发送一个带有文件名的JSON响应,并使用public\u path()
方法将#image
的src更改为带有文件名的src?您能告诉我如何实现这一点的代码吗?所以我可以接受你的回答,你能拒绝你得到的回复吗?url:'template',
是正确的url吗?我之所以这样问,是因为它似乎与你形式中的行为不同,你所说的不同是什么意思?它应该是正确的,因为它在localhost/template上运行。为什么不发送一个带有文件名的JSON响应,并使用public\u path()
方法将#image
的src更改为带有文件名的?所以我可以接受你的回答,你能拒绝你得到的回复吗?url:'template',
是正确的url吗?我之所以这样问,是因为它似乎与你形式中的行为不同,你所说的不同是什么意思?它在localhost/template上运行时应该是正确的