upload 相关问题

上载是指将数据从本地系统发送到远程系统(如服务器或其他客户端),目的是远程系统应存储正在传输的数据的副本,或启动此类过程

后门:在上传的图像文件中检测到PHP/Webshell.O病毒。我应该担心吗?我该如何预防?

我有一个允许用户上传图像的网站。防病毒软件最近检测到一个上传的文件(未扫描上传的文件,这是之后进行的系统范围扫描) 上传后,我检查...

回答 1 投票 0

jQuery 文件上传器无法处理 499 客户端关闭错误

应用程序使用最新版本的 jQuery 文件上传器,有时在上传过程中会观察到 499 错误(客户端关闭请求)。我的假设是,如果用户是我们,就会出现此错误...

回答 1 投票 0

如何通过 GitHub Web 界面将新版本的二进制文件上传到 GitHub 存储库

我没有找到将新版本的二进制文件上传到 GitHub 存储库的界面控件。有没有? 带有三个点的按钮:

回答 1 投票 0

使用 jquery 接收多次上传的文件时出现问题

我正在尝试使用ajax和php将多个图像发送到服务器。 HTML: 我正在尝试使用ajax和php将多个图像发送到服务器。 HTML: <div class="upload-container" id="uploadContainer"> <div class="upload-box show"> <span class="plus-sign">+</span> <input type="file" name="images[]" accept="image/*" multiple> <button class="delete-icon" type="button">×</button> </div> </div> JavaScript: 这通过创建一个方框来设置文件字段的样式,单击该方框将打开图像选择器并包含最多五个文件。工作正常 document.addEventListener('DOMContentLoaded', function() { const uploadContainer = document.getElementById('uploadContainer'); const imageUploadForm = document.getElementById('form-review'); let imageCount = 0; const maxImages = 5; function createUploadBox() { if (imageCount >= maxImages) return; const uploadBox = document.createElement('div'); uploadBox.classList.add('upload-box'); uploadBox.innerHTML = ` <span class="plus-sign">+</span> <input type="file" accept="image/*" name="images[]" multiple> <button class="delete-icon" type="button">×</button> `; uploadContainer.appendChild(uploadBox); setTimeout(() => uploadBox.classList.add('show'), 10); attachUploadEvents(uploadBox); } function attachUploadEvents(uploadBox) { const input = uploadBox.querySelector('input[type="file"]'); const deleteIcon = uploadBox.querySelector('.delete-icon'); uploadBox.addEventListener('click', () => { if (uploadBox.classList.contains('filled')) return; input.click(); }); input.addEventListener('change', (event) => { const files = Array.from(event.target.files); const validFiles = files.slice(0, maxImages - imageCount); validFiles.forEach(file => { const reader = new FileReader(); reader.onload = (e) => { const imgBox = document.createElement('div'); imgBox.classList.add('upload-box', 'show', 'filled'); imgBox.innerHTML = ` <img src="${e.target.result}" alt="Image"> <button class="delete-icon" type="button">×</button> `; uploadContainer.insertBefore(imgBox, uploadContainer.lastElementChild); attachDeleteEvent(imgBox); imageCount++; if (imageCount >= maxImages) { const emptyUploadBox = document.querySelector('.upload-box:not(.filled)'); if (emptyUploadBox) emptyUploadBox.remove(); } }; reader.readAsDataURL(file); }); input.value = ''; }); deleteIcon.addEventListener('click', (event) => { event.stopPropagation(); event.preventDefault(); uploadBox.classList.remove('show'); setTimeout(() => { uploadBox.remove(); imageCount--; ensureOneEmptyUploadBox(); }, 300); }); } window.resetUploadBoxes = function() { const filledUploadBoxes = document.querySelectorAll('.upload-box.filled'); filledUploadBoxes.forEach(box => box.remove()); imageCount = 0; ensureOneEmptyUploadBox(); } function attachDeleteEvent(uploadBox) { const deleteIcon = uploadBox.querySelector('.delete-icon'); deleteIcon.addEventListener('click', (event) => { event.stopPropagation(); event.preventDefault(); uploadBox.classList.remove('show'); setTimeout(() => { uploadBox.remove(); imageCount--; ensureOneEmptyUploadBox(); }, 300); }); } function ensureOneEmptyUploadBox() { const emptyUploadBox = document.querySelector('.upload-box:not(.filled)'); if (!emptyUploadBox && imageCount < maxImages) { createUploadBox(); } } attachUploadEvents(document.querySelector('.upload-box')); $('#button-review').on('click', function() { var formData = new FormData($('#form-review')[0]); // Loop through all file input elements $('input[type="file"]', $('#form-review')).each(function(index, input) { if (input.files.length > 0) { formData.append('image[]', input.files[0]); } }); $.ajax({ url: 'index.php?route=product/product/write&product_id={{ product_id }}', type: 'post', dataType: 'json', data: formData, cache: false, contentType: false, processData: false, beforeSend: function() { $('#button-review').button('loading'); }, complete: function() { $('#button-review').button('reset'); }, success: function(json) { $('.alert-dismissible').remove(); if (json['error']) { $('#review').after('<div class="alert alert-danger alert-dismissible"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>'); $('html, body').animate({scrollTop: $("#review").offset().top}, 800); } if (json['success']) { resetUploadBoxes(); $('#review').after('<div class="alert alert-success alert-dismissible"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>'); $('html, body').animate({scrollTop: $("#review").offset().top}, 800); $('input[name=\'name\']').val(''); $('textarea[name=\'text\']').val(''); $('input[name=\'rating\']:checked').prop('checked', false); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); }); PHP: $files = []; if (!empty($this->request->files) && is_array($this->request->files)) { foreach ($this->request->files as $key) { if ($key['name'] != "") { $files[] = array( 'name' => $key['name'], 'type' => $key['type'], 'tmp_name' => $key['tmp_name'], 'error' => $key['error'], 'size' => $key['size'] ); } } } 这几乎可以正常工作,但我无法在服务器端接收图像。到达的数组是空的。我可以发送表单文本并且不会发生错误。我分析了代码,包括在人工智能的帮助下,没有发现任何问题。 您需要循环遍历每个文件输入中的所有文件,而不仅仅是附加每个文件中的第一个文件。所以更换 // Loop through all file input elements $('input[type="file"]', $('#form-review')).each(function(index, input) { if (input.files.length > 0) { formData.append('image[]', input.files[0]); } }); 与 // Loop through all file input elements $('input[type="file"]', $('#form-review')).each((index, input) => [...input.files].forEach(file => formData.append('image[]', file) ); 尽管正如CBroe评论的那样,var formData = new FormData($('#form-review')[0])应该已经将文件放入formData并且这个循环是不必要的。

回答 1 投票 0

Graph API SharePoint 站点文件上传:编译错误 DriveItemRequestBuilder 不包含 Root 的定义

我尝试使用以下代码将文件上传到 SharePoint 网站的共享文件夹: var uploadSession =等待_graphClient.Sites[siteId] .驱动器[驱动器ID] 。根 .ItemWithPath($"{

回答 1 投票 0

尝试上传时出现准备状态错误。怀疑可能是htaccess重写问题?

我正在尝试上传图像。我的以下代码在另一个页面上完美运行,但在这里不起作用。当我尝试时遇到此错误 {"readyState":0,"status&q...

回答 1 投票 0

如何使用 Laravel 上传图片?

问题: 我想使用 Laravel 将图像上传到 mySQL 数据库。 我尝试过的: 我寻找其他堆栈溢出问题,但它们没有帮助。 我期待的结果: 是

回答 5 投票 0

Ckeditor (PHP) 的 CKfinder 返回错误

我正在尝试将上传器集成到 Ckeditor,我选择了 Ckfinder,因为它似乎是记录最多的。在我看来还不够,因为我一整天都在挣扎而无法升级...

回答 1 投票 0

文件输入元素的更改事件

我有 4 个文件输入,我希望它们在值更改时触发上传过程。 我的意思是,当您选择一张图片并单击“选择图像”对话框上的“打开”时,上传图片的脚本是

回答 6 投票 0

跟踪文件是否已通过 php 正确上传到 ftp 上

我需要跟踪,如果文件已成功上传,则将值(1或0)存储到mysql数据库中。 我想要的是确保用户上传了文件并且传输正常,所以没有呃...

回答 1 投票 0

Laravel 5:如何将本地文件复制到 Amazon S3?

我正在 Laravel 5 中编写代码来定期备份 MySQL 数据库。到目前为止我的代码如下所示: $filename = 'database_backup_'.date('G_a_m_d_y').'.sql'; $destination = storage_pa...

回答 7 投票 0

WordPress 上传文件无需单独的 upload.php

我正在尝试使用自定义插件中的 wp 函数 wp_upload_dir() 上传文件,我需要在 WordPress 默认上传文件夹中上传文件,而无需单独的 upload.php 文件。我是...

回答 1 投票 0

使用 PHP 连接到 WebDAV?

我想使用PHP连接到WebDAV,并能够上传文件等。但是,我不知道如何连接到它。我想它最终会像打开套接字并发送一样简单......

回答 2 投票 0

无法从php中的多个输入上传文件

我使用下面的代码从多个输入上传文件并为上传的图像创建缩略图并重命名文件,但无法上传图像。 有人可以纠正我犯错的地方吗 注意:对于...

回答 1 投票 0

使用 Deno 和 Oak 处理多部分/表单数据

我在学习 Deno 和 Oak 方面取得了缓慢但稳定的进展,但这让我感到困惑。我有一个带有文件上传字段的简单网络表单: 我在学习 Deno 和 Oak 方面取得了缓慢但稳定的进展,但这让我感到困惑。我有一个简单的网络表单,带有文件上传字段: <form method="post" action="/quote" enctype="multipart/form-data"> <label>Author: <input type="text" name="author" /> </label> <label>file: <input type="file" name="myfile" multiple /> </label> <label>Quote: <textarea name="quote"></textarea> </label> <input type="submit" /> </form> 处理是通过 Deno 和 Oak 完成的,下面是处理文本数据的脚本: router.post('/quote', async context => { const body = context.request.body({ type: 'form' }) const value = await body.value const author = value.get('author') console.log(author) context.response.redirect(`/?author=${author}`) }) 该路由可以处理一个表单,该表单not具有multipart/form-data的编码,但一旦我添加它,author字段就是undefined。 我的问题是:如何访问此表单中的数据(文本和文件数据)? 解决方案隐藏在Oak 文档中。 Request 对象的 Context 属性包含 body() 方法。这“解析为请求正文的一个版本”。 它需要一个实现 options 接口的 BodyOptions 对象。它有一个名为 type 的属性,如果您打算解析 form-data,则需要具有 multipart/form-data 值。 在这种情况下,它返回一个实现 FormDataReader 接口的对象,其中包括一个 read() 方法,该方法解析为包含来自 所有表单字段 的数据的对象,包括上传的任何文件。 以下是如何实施的示例: router.post('/foo', async context => { const body = await context.request.body({ type: 'form-data'}) const data = await body.value.read() console.log(data) context.response.redirect('/') }) 这是输出的示例。它包括一个 fields 属性,其中包含表单字段的数据和一个 files 数组,其中包含您上传的所有文件的数据: { fields: { name: "Foo", organisation: "Bar" }, files: [ { content: undefined, contentType: "image/png", name: "myimage", filename: "/tmp/c8290ba0/e25ee9648e3e5db57f5ef3eb4cfa06704ce5f29c.png", originalName: "foobar.png" } ] } 这是 Oak 16+ 的更新。对于某些事情,语法似乎发生了很大变化。 我已经设置了路由 import { Router } from "jsr:@oak/oak@16"; const router = new Router(); import handlers from "./requestHandlers.ts"; router .post("/upload", handlers.handleUpload); 然后在我的请求处理程序中(我在其他地方将 UPLOAD_PATH 定义为常量): handleUpload: async ({ request, response }: { request: any; response: any }) => { const theBody: Body = await request.body; const form: FormData = await theBody.formData() const theFile: File = form.get("file") as File; const destPath = `${config.UPLOAD_PATH}${theFile.name}`; const fileData = await theFile.stream() Deno.writeFile(destPath, fileData); response.body = `Uploaded file size: ${theFile.size}`; } router.post('/quote', async context => { let params: {[key: string]: string} = {}; let value: any = await context.request.body().value; for (const [key, valor] of value) { params[key] = valor; } const author = params['author'] console.log(author) context.response.redirect(`/?author=${author}`) })

回答 3 投票 0

使用json数据上传图像flutter

请求正在处理中 如何使用 Dio 包在 flutter 中发送相同的请求 试过 formData = FormData.fromMap({ “移动请求”:{ “公司请求”:...

回答 1 投票 0

Laravel |改变file()的realPath值

是否可以更改 Laravel 文件的 realPath 属性?我实际上可以移动文件,但无法更改数据库记录,因为它记录为旧的 realPath 而不是新路径。 这就是我得到的...

回答 2 投票 0

codeigniter php 中的多个图片上传问题

我正在尝试使用codeigniter上传多个图像,我有大约15个图像字段,名称为pimage到pimage15,所有都是可选的,我的控制器代码如下所示: 公共职能

回答 1 投票 0

django imagefield upload_to 根本不起作用

我编写了一个简单的 django 应用程序来测试 ImageField,但我遇到了 upload_to 似乎不起作用的问题。下面是代码: 1 从django.db导入模型 2 3 # 创建你...

回答 4 投票 0

Nextjs 13 强大的解析功能没有反应,备货了

Formidable 已库存,根本没有任何响应,API 始终处于待定状态,数周内都没有找到锁定解决方案。 我创建了一个简单的个人资料页面,其中包含表单中的图像以将其上传到...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.