我正在使用Laravel和Vue进行类似社交媒体的项目。 在这里,人们一次最多可以发布10张照片。 但我希望在使用javascript上传之前调整它们的大小。这样我就将它们转换为base64字符串图像,然后将它们发送到Laravel干预下以进行图像存储。
当我发布1/2或3张照片时,它可以工作。但是当我上传3张以上照片时,它显示“ 405方法不允许”。
问题到底在哪里发生? base64字符串对于有效负载而言太大了吗?
我的路线Route::post('/user/post/submit', 'PostController@storePost');
我在Vue中的axios发布方法
if (this.textInput != null || this.uploadedImages.length > 0) {
axios.post("/user/post/submit", this.file).then(res => {
//
});
}
我的Base64字符串
const vm = this;
if (vm.uploadedImages.length > 0) {
for (var i = 0; i < vm.uploadedImages.length; i++) {
let attachment = vm.uploadedImages[i][0];
var base64_str = attachment.replace('data:image/png;base64,', '');
var base64_str_rep = base64_str.replace(' ', '+');
if(base64_str_rep){
console.log(base64_str_rep)
vm.file.append("images["+i+"]", base64_str_rep);
}
}
}