文件上传Javascript
File uploads Javascript
本文关键字:Javascript 文件 更新时间:2023-09-26
我一直在滚动堆栈,找不到任何与我的问题相关的答案。
问题如下:
当我发布图像时,名称为NULL,因此它不会发布图像名称:/它不会将图像上传到.
我的ajax帖子:
$.ajax({
url: 'handler.php',
type: 'POST',
data: new FormData($(where.parentNode)[0]),
processData: false
}).done(function(result){
console.log("Success: Files sent!", result);
}).fail(function(){
console.log("An error occurred, the files couldn't be sent!");
});
创建表单并进行处理。
var elem = document.querySelectorAll('p,h1,h2,h3,h4,h5,h6,span,b,bold,i,li,strong,em,small,sub,sup,ins,del,mark,img');
for (var i = elem.length - 1; i >= 0; i--) {
if (elem[i].className == "no-edit") {
} else {
if ($(elem[i]).attr("ID") != "livekit") {
if(elem[i].nodeName == "IMG"){
$(elem[i]).css("max-width", elem[i].width);
$(elem[i]).css("max-height", elem[i].height);
console.log("W: " + elem[i].width + " H: " + elem[i].height + " | " + elem[i].src);
var imageControl = document.createElement("form");
imageControl.className += 'livekit-nosave';
imageControl.action += 'handler.php';
imageControl.enctype = "multipart/form-data";
imageControl.method = "POST";
imageControl.innerHTML += '<input id="image" name="image" type="file" onchange="previewFile(this)">';
var imageContain = document.createElement("div");
imageContain.className += 'livekit-nosave';
insertAfter(elem[i], imageContain);
imageContain.appendChild(imageControl);
imageControl.appendChild(elem[i]);
}else{
$(elem[i]).click(function() {
if(this != previous){
if(previous == 'undefined'){
}else{
previous.style.zIndex = 1;
previous.lastChild.remove();
previous.lastChild.remove();
}
this.innerHTML += "<img class='edit-img livekit-nosave' src='http://www.starlinedesign.nl/livekit_remake/includes/img/edit.png' contenteditable='false' alt='Edit text'>";
this.innerHTML += "<div class='edit-bar livekit-nosave' contenteditable='false'><a class='save' onclick='save(this.parentNode);'>Opslaan</a></div>";
$(this).addClass("editable");
this.contentEditable = true;
this.style.zIndex = 99998;
previous = this;
}
});
}
}
}
}
handler.php
if(ini_get('file_uploads') == 1){
$response_array["status"] = "HTTP Upload Enabled";
if(isset($_FILES["file"]["type"])){
$response_array["status"] = "File received";
}elseif(!empty($_POST)){
var_dump($_POST['file']);
$response_array['status'] = 'Success';
// verwerken van de post
//$_FILE['name']['image'];
if(file_exists('livekit_uploads/' . $_FILES['image']['name'])){
die('File with that name already exists.');
}else{
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
$expensions= array("jpeg","jpg","png");
if(in_array($file_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
if($file_size > 2097152){
$errors[]='Bestand mag niet groter zijn dan 2mb! Verklein met photoshop d.m.v save as web image en dan de kwaliteit naar 75 te doen.';
}
if(empty($errors)==true){
move_uploaded_file($file_tmp,"images/".$file_name);
echo "Success";
// $query = $conn -> prepare("
// INSERT INTO includeimage (`image_url`, `order_id`) VALUES ('$file_name', '$orderid');
// ");
// $query -> execute();
}else{
print_r($errors);
}
}
}
}else {
$response_array["status"] = "Niks ontvangen";
}
我的问题是:为什么表单没有提交任何表单数据?我需要文件名,这样我就可以把它发布到数据库,我还需要文件名把它上传到上传文件夹。
控制台显示:
edit.js:221成功:文件已发送!NULL已使用该名称的文件存在。
您执行var_dump($_POST['file']);
,但没有名称为"的字段;文件";。我只看到一个名为";图像";。正如PHP文档所述(http://php.net/manual/en/features.file-upload.post-method.php),您有一个包含$_FILES中信息的数组。查看以下部分:
$_FILES['userfile']['name']
客户端计算机上文件的原始名称。
因此,要获得名称,您应该使用$_FILES['image']['name']
。
相关文章:
- 使用压缩的JavaScript文件(不是运行时压缩)
- 如何包含特定于每个视图angularjs的javascript文件
- 将数据从javascript文件导入VB.Net页面
- Chrome加载旧版本的Javascript文件
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- gulp-if-javascript文件,但不在gulp-useref的特定目录中
- 如何在visualstudio中调试web api时编辑javascript文件
- 关于引入外部javascript文件的问题&css通过https
- 有没有办法在tinymceiframe中加载一个外部javascript文件
- 什么'是在asp.net MVC中将本地化的resources.resx文件转换为javascript文件的有效
- 在一个javascript文件中为整个网站创建标签
- 如何在定义js文件后为外部javascript文件设置变量
- 显示IIS上javascript文件(SOAP请求)的XML响应
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 我应该将MVC视图特定的javascript文件放在哪个文件夹中
- Django'支持Javascript文件中的翻译
- MVC正在忽略我的Javascript文件
- 为什么不't我的ruby代码与javascript文件一起插入
- 在Javascript文件中获取PHP变量
- 如何在Windows中将Javascript文件编译成二进制文件