file-upload 相关问题

将文件从客户端传输到服务器的方法或操作。

ASP.NET 和 C# 文件上传 - 我的代码有什么问题

文件上传一行代码可以工作,但是当我将其集成到Web应用程序中时,它不起作用。 ASPX 标记文件: 文件上传一行代码可以工作,但是当我将其集成到Web应用程序中时,它不起作用。 ASPX 标记文件: <div class="form-group" style="padding: 10px; text-align: right;"> <label for="client_tax_photo_numInput1">صورة البطاقة الضريبية</label> <asp:FileUpload runat="server" ID="client_tax_photo" /> </div> C# 代码隐藏文件: protected void Add_Ticket_Click(object sender, EventArgs e) { addnewclient(); addnewticket(); } void addnewclient() { client_tax_photo.SaveAs(Server.MapPath("../docs") + "//" + client_tax_photo.FileName); } void addnewticket() { // ... } 我创建了一个页面来测试文件上传,以确保这不是权限问题并且可以正常工作。 请告诉我出了什么问题吗? 我建议使用“~”,这意味着从网站的根目录开始。 因此,这个: void addnewclient() { string sFile = Server.MapPath(@"~/docs/") + client_tax_photo.FileName; client_tax_photo.SaveAs(sFile); } 所以,上面将解决: https://MySiteName.com/docs/"file name"

回答 1 投票 0

使用 Dio/Http 包从 Flutter 向 Express Server 发送视频文件和表单数据的问题,Android 手机附加调试模式

我在将视频文件和关联表单数据从 Flutter 应用程序上传到 Express 服务器时遇到问题。尽管同时使用 Dio 和 http 包进行 HTTP 请求,服务器日志显示...

回答 1 投票 0

我在将图像上传到云端时遇到错误,错误:“必须提供 api_key”

我正在使用cloudinary在nodeJs环境中存储图像,但面临这个错误必须提供api_key 这是云配置文件 const cloudinary = require('cloudinary').v2; 常量 {

回答 1 投票 0

Google 云端硬盘 - 上传文件时失去连接

我创建了一个新的 Google 电子邮件地址,该地址为您提供免费的 15GB Google 云端硬盘存储空间。 但是,每当我尝试将任何类型的文件上传到 Google 云端硬盘存储时,它总是会抛出...

回答 1 投票 0

yii2中继承ActiveRecord的模型是否可以上传文件?

我从 yii2 中的数据库表中使用 Gii 生成了一个模型。该模型继承自 ActiveRecord 。然后我从这个模型创建了一个表单。现在我想用这个表单上传一个文件。 可以吗

回答 2 投票 0

无法在 Jailed Shell 帐户中通过 php 上传文件

当 cpanel 用户将 shell 访问权限设置为“Jailed Shell”时,我通过 php 加载文件时遇到问题,php 调用进入错误 400,没有 php 错误,但出现 apache 错误: ModSecu...

回答 1 投票 0

如何使用 Axios 从表单发布文件

使用原始 HTML,当我使用以下命令将文件发布到 Flask 服务器时,我可以从 Flask 请求全局访问文件: 使用原始 HTML,当我使用以下命令将文件发布到 Flask 服务器时,我可以从全局 Flask 请求访问文件: <form id="uploadForm" action='upload_file' role="form" method="post" enctype=multipart/form-data> <input type="file" id="file" name="file"> <input type=submit value=Upload> </form> 在烧瓶中: def post(self): if 'file' in request.files: # .... 当我尝试对 Axios 执行相同操作时,烧瓶请求全局为空: <form id="uploadForm" enctype="multipart/form-data" v-on:change="uploadFile"> <input type="file" id="file" name="file"> </form> <script> function uploadFile(event) { const file = event.target.files[0] axios.post('upload_file', file, { headers: { 'Content-Type': 'multipart/form-data' } }) } </script> 如果我使用上面相同的 uploadFile 函数,但从 axios.post 方法中删除 headers json,我会在 Flask 请求对象的表单键中得到一个 csv 字符串值列表(文件是 .csv)。 如何获取通过 axios 发送的文件对象? 将文件添加到 formData 对象,并将 Content-Type 标头设置为 multipart/form-data。 var formData = new FormData(); var imagefile = document.querySelector('#file'); formData.append("image", imagefile.files[0]); axios.post('upload_file', formData, { headers: { 'Content-Type': 'multipart/form-data' } }) 使用 Vue 的示例应用程序。需要在本地主机上运行的后端服务器来处理请求: var app = new Vue({ el: "#app", data: { file: '' }, methods: { submitFile() { let formData = new FormData(); formData.append('file', this.file); console.log('>> formData >> ', formData); // You should have a server side REST API axios.post('http://localhost:8080/restapi/fileupload', formData, { headers: { 'Content-Type': 'multipart/form-data' } } ).then(function () { console.log('SUCCESS!!'); }) .catch(function () { console.log('FAILURE!!'); }); }, handleFileUpload() { this.file = this.$refs.file.files[0]; console.log('>>>> 1st element in files array >>>> ', this.file); } } }); https://codepen.io/pmarimuthu/pen/MqqaOE 如果您不想使用 FormData 对象(例如,您的 API 采用特定的内容类型签名,而 multipart/formdata 不是其中之一),那么您可以这样做: uploadFile: function (event) { const file = event.target.files[0] axios.post('upload_file', file, { headers: { 'Content-Type': file.type } }) } 分享我使用 React 和 HTML 输入的经验 定义输入字段 <input type="file" onChange={onChange} accept ="image/*"/> 定义 onChange 监听器 const onChange = (e) => { let url = "https://<server-url>/api/upload"; let file = e.target.files[0]; uploadFile(url, file); }; const uploadFile = (url, file) => { let formData = new FormData(); formData.append("file", file); axios.post(url, formData, { headers: { "Content-Type": "multipart/form-data", }, }).then((response) => { fnSuccess(response); }).catch((error) => { fnFail(error); }); }; const fnSuccess = (response) => { //Add success handling }; const fnFail = (error) => { //Add failed handling }; 这对我有用,我希望对某人有帮助。 var frm = $('#frm'); let formData = new FormData(frm[0]); axios.post('your-url', formData) .then(res => { console.log({res}); }).catch(err => { console.error({err}); }); 这是我的方式: var formData = new FormData(formElement); // formData.append("image", imgFile.files[0]); const res = await axios.post( "link-handle", formData, { headers: { "Content-Type": "multipart/form-data", }, } ); 如何使用内存中的对象(如 JSON 对象)发布文件: import axios from 'axios'; import * as FormData from 'form-data' async function sendData(jsonData){ // const payload = JSON.stringify({ hello: 'world'}); const payload = JSON.stringify(jsonData); const bufferObject = Buffer.from(payload, 'utf-8'); const file = new FormData(); file.append('upload_file', bufferObject, "b.json"); const response = await axios.post( lovelyURL, file, headers: file.getHeaders() ).toPromise(); console.log(response?.data); } Axios 版本 0.25.0 > 到 0.27.2 存在问题,如果您有 FormData 多个字段,但对于包含文件的一个字段来说没问题,则无法正确处理 PUT 请求中的 appended 对象, POST 工作正常。 此外,Axios 0.25.0+ 会自动设置正确的标头,因此无需指定 Content-Type。 如果你要拍照,你必须存储图像并保留其路径,然后从其路径中检索机器上的 blob,将 blob 添加到 formData 中,还添加图像的名称,然后使用multipart/form-data 标头,我们在 req.files 的后面找到图像 对我来说,错误是控制器中的实际参数名称......我花了一段时间才弄清楚,也许它会对某人有所帮助。我正在使用 Next.js / .Net 6 客户: export const test = async (event: any) => { const token = useAuthStore.getState().token; console.log(event + 'the event') if (token) { const formData = new FormData(); formData.append("img", event); const res = await axios.post(baseUrl + '/products/uploadproductimage', formData, { headers: { 'Authorization': `bearer ${token}` } }) return res } return null } 服务器: [HttpPost("uploadproductimage")] public async Task<ActionResult> UploadProductImage([FromForm] IFormFile image) { return Ok(); } 这里出错,因为服务器需要参数“image”而不是“img:” formData.append("img", event); public async Task<ActionResult> UploadProductImage([FromForm] IFormFile image)

回答 10 投票 0

图片未上传时图片值应为空

员工控制器 员工控制器 <?php namespace App\Http\Controllers; use App\Talent\Employee\Requests\EmployeeCreateRequest; use App\Talent\Employee\EmployeeManager; use Illuminate\Http\Response; use App\Talent\User\UserManager; use App\Talent\Documents\DocumentManager; use Illuminate\Support\Facades\Hash; class EmployeeController extends Controller { public function __construct(private EmployeeManager $employeeManager,private UserManager $userManager,private DocumentManager $documentManager) { } public function store(EmployeeCreateRequest $request){ $validated = $request->validated(); $userArray=[ 'name'=>$validated['first_name']." ".$validated['last_name'], 'email'=>$validated['email'], 'password'=>Hash::make("Introcept@123"), 'role'=>'user' ]; $userCreate=$this->userManager->store($userArray); return $this->employeeStore($validated,$userCreate,$request); } public function employeeStore($validated,$userCreate,$request){ if($request->hasFile($validated['avatar'])) { $validated['avatar']=$validated['avatar']->store('employeeimages','public'); } else { $validated['avatar']='null'; } $userId=$userCreate->id; $userIdArray=[ 'user_id'=>$userId, 'status'=>'Active', ]; $employeeArray=array_merge($validated,$userIdArray); $employeeCreate=$this->employeeManager->store($employeeArray); $employeeId=$employeeCreate->id; foreach($validated['documents'] as $document){ $name=$document->getClientOriginalName(); $type=$document->getClientMimeType(); $path=$document->store('employeedocuments','public'); $documentArray=[ 'employee_id'=>$employeeId, 'original_name'=>$name, 'type'=>$type, 'path'=>$path, ]; $documentCreate=$this->documentManager->store($documentArray); } return response([ 'userId'=>$userId, 'employeeId'=>$employeeId, 'message'=>'Personal detail added successfully', ],Response::HTTP_OK); } } Employee.php <?php namespace App\Talent\Employee\Model; use App\Talent\Documents\Model\Document; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Employee extends Model { use HasFactory; protected $fillable = [ 'first_name', 'last_name', 'email', 'contact_number', 'date_of_birth', 'current_address', 'pan_number', 'bank_account_number', 'avatar', 'status', 'user_id', ]; **EmployeeRequest.php** <?php namespace App\Talent\Employee\Requests; use Illuminate\Foundation\Http\FormRequest; class EmployeeCreateRequest extends FormRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array<string, mixed> */ public function rules() { return [ 'first_name'=>'required|string', 'last_name'=>'required|string', 'email'=>'required|email|unique:employees,email', 'contact_number'=>'required|string', 'date_of_birth'=>'required|date', 'current_address'=>'required|string', 'pan_number'=>'string|nullable', 'bank_account_number'=>'string|nullable', 'avatar' => 'nullable|image|mimes:jpg,jpeg,png', 'documents'=>'required', 'documents.*'=>'max:5000|mimes:pdf,png,jpg,jpeg', ]; } public function messages() { return [ 'documents.max' => "Error uploading file:File too big.Max file size:5MB", ]; } } 员工迁移 <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; return new class extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('employees', function (Blueprint $table) { $table->id(); $table->foreignId('user_id')->constrained('users')->restrictOnDelete(); $table->string('status'); $table->string('first_name'); $table->string('last_name'); $table->string('email')->unique(); $table->string('contact_number'); $table->date('date_of_birth'); $table->string('current_address'); $table->string('pan_number')->nullable(); $table->string('bank_account_number')->nullable(); $table->string('avatar')->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('employees'); } }; 我正在尝试创建一个 API,将员工的个人详细信息存储到数据库中。在这里,图像字段是可选的,因此我在迁移和验证请求中也将头像字段设为可为空。但是,当我尝试将详细信息保存到数据库而不上传图像时,它显示未定义的头像。我不知道这里发生了什么,任何帮助或建议将非常感激。谢谢。 您正在使用字符串值 null 而不是关键字 null。

回答 1 投票 0

如何调用FastAPI文件上传路由[重复]

我已经编写了 FastAPI 来上传文件,但在我的新要求中,我必须创建 CLI 来上传文件,以便我调用路由函数。 @app.post("/上传文件/") 异步定义

回答 2 投票 0

如何调用Fast api文件上传路由

我已经编写了快速 API 来上传文件,但在我的新要求中,我必须创建 CLI 来上传文件,以便我调用路由函数。 @app.post(“/上传文件/”) 异步定义

回答 2 投票 0

在Wordpress中使用register_setting添加的文件输入不会上传文件

我已经为我的 WordPress 主题创建了一个自定义选项页面,我需要添加一个文件输入字段,通过该字段可以上传 MP4 视频 (~15Mb)。问题是 $_FILES 变量始终为空。 ...

回答 1 投票 0

multer 错误未作为响应发送。请求一直待处理

我正在创建一个文件上传功能,以将多个文件(图像)上传到快递应用程序。我已经配置了 multer 中间件的大小限制和文件 mimetypes,如下所示: 常量存储...

回答 1 投票 0

在生产中的 S3 存储桶中上传时出现访问被拒绝 403 错误(本地工作)

我收到 AccessDenied:将文件上传到我的 s3 存储桶时访问被拒绝。但一切都在本地完美运行。 这是我在 cloudwatch 中看到的错误 AccessDenied:访问被拒绝 ...

回答 1 投票 0

是否可以使用Background Fetch Api来上传文件..?

我正在努力在我的 Vue 项目中实现后台获取 API,以将文件上传到 S3 存储桶。目标是即使用户关闭屏幕也允许上传过程继续,

回答 1 投票 0

如何检测浏览器中的目录选择功能?

我想知道浏览器是否能够选择文件夹,而不仅仅是多个文件。当前的 Chrome 支持此功能(例如:http://html5-demos.appspot.com/static/html5storage/demos/upload_dir...

回答 2 投票 0

通过Unity WebGl中的文件资源管理器上传视频(文件)

我正在 Unity WebGl 上开发游戏。我有一部分用户必须通过文件资源管理器上传视频,然后我必须将其发送到服务器。我不必团结一致地玩它。我只需要得到...

回答 1 投票 0

为什么我在移动设备上使用 DocumentPicker.getDocumentAsync() 方法时输出不存在?

为什么当我在移动设备上使用 expo-document-picker 库中的 DocumentPicker.getDocumentAsync() 方法时,它不返回文件列表、输出? 我的项目是用 React Native 构建的...

回答 1 投票 0

Angular 无法通过 formData 上传文件

我正在尝试从 Angular 将我的 excel 文件发送到我的 asp.net core 后端。我可以在邮递员中轻松完成 邮差截图 但是当我尝试使用角度时,出现以下错误: { “类型”:“

回答 1 投票 0

Amazon S3 分段上传

我正在尝试使用Java中的分段上传低级API方法将.bak文件(24gb)上传到amazon s3。我能够成功写入文件,但花费的时间约为 7-8 小时。我是...

回答 2 投票 0

拖放文件上传在 Firefox 中不起作用

我正在尝试将文件上传与我的网站中的浏览和拖放选项集成。下面的代码文件上传选项在 Chrome 中运行良好,但在 Firefox 浏览器中不起作用。我...

回答 2 投票 0

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