我正在尝试上传一张Angular 5.2和Laravel 5.5的头像。我可以成功地将图像上传到本地存储中的单独文件夹。然后我想展示上传的图片,就像在facebook中一样。然后我可以查看上传的图像,但它不会上传到文件夹中。This is my current code.It通过在append,event下划线来显示错误。
uploadFile(event) {
if (event.target.files.length > 0) {
const reader = new FileReader();
reader.append('myfile', elem.files[0]);
reader.readAsDataURL(event.target.files[0]);
reader.onload = (event) => {
this.url = event.target.result;
};
this.fileService.sendFile(reader).subscribe(
(response) => {
console.log(response);
});}
}可以上传到文件夹的代码在这里。
uploadFile(event){
const elem = event.target;
if(elem.files.length > 0){
const formData = new FormData();
formData.append('myfile', elem.files[0]);
this.fileService.sendFile(formData).subscribe(
(response) => {
console.log(response);
}); }
elem.value = "";
}服务文件
export class FileService {
constructor(private httpClient: HttpClient) { }
sendFile(formData: any) {
const baseUrl = 'http://127.0.0.1:8000/api';
const url = `${baseUrl}/file`;
return this.httpClient.post(
url,
formData);
}
}这是我在laravel中的文件控制器
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FileController extends Controller
{
public function saveFile(Request $request){
$File = $request -> file('myfile');
$sub_path = 'files';
$real_name = $File -> getClientOriginalName();
$destination_path = public_path($sub_path);
$File->move($destination_path, $real_name);
return response()->json('File Save');
}
}使用下面的代码,我可以在打开图像后查看图像。
url = '';
onSelectFile(event) {
if (event.target.files && event.target.files[0]) {
var reader = new FileReader();
reader.readAsDataURL(event.target.files[0]); // read file as data url
reader.onload = (event) => { // called once readAsDataURL is completed
this.url = event.target.result;
}
}
}发布于 2018-10-11 12:42:53
我可以上传图片到本地存储的文件夹中,同时我可以使用以下代码查看它。但它仍然在结果上显示一个错误。我需要知道做这件事的正确方法。
错误结果:类型‘EventTarget’上不存在属性‘TS2339’。
代码在这里。
uploadFile(event) {
if (event.target.files.length > 0) {
const reader = new FileReader();
const formData = new FormData();
formData.append('myfile', event.target.files[0]);
reader.readAsDataURL(event.target.files[0]);
reader.onload = (event) => {
this.url = event.target.result;
};
this.fileService.sendFile(formData).subscribe(
(response) => {
console.log(response);
});
}
event.target.value = '';
}https://stackoverflow.com/questions/52752054
复制相似问题