亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Dart/Flutter - 發布到 PHP 服務器的文件大小為零字節

Dart/Flutter - 發布到 PHP 服務器的文件大小為零字節

PHP
慕碼人8056858 2023-08-11 17:58:47
我想將音頻文件發布到我的服務器上的 PHP 頁面。盡管該文件假裝正在上傳,但其大小為零字節。這是我調用的方法;import 'dart:async';import 'package:http/http.dart' as http;import 'package:http_parser/http_parser.dart';Future<String> uploadAudio() async {  final serverurl = "http://example.com/audiotest2.php?";  var request = http.MultipartRequest('POST', Uri.parse(serverurl));  var multiPartFile = await http.MultipartFile.fromPath("audio", filepath, contentType: MediaType("audio", "mp4"));  request.files.add(multiPartFile);        request.send().then((result) async {http.Response.fromStream(result)        .then((response) {      if (response.statusCode == 200)      {       print('response.body '+response.body);      }      return response.body;    });  });}這是后端的 php,我意識到這段代碼是不安全的,但這只是臨時的,因為我不太熟悉 mysql,只需要保持簡單即可使其工作。我正在使用 PHP_Compat-1.6.0a3 Pear 包來獲取文件內容。當我使用 App Inventor 而不是 Dart/Flutter 時,它工作正常; <?php header("Content-Type: audio/mp4");require_once (dirname(__FILE__).'/PHP_Compat-1.6.0a3/Compat/Function/file_get_contents.php');    $data = php_compat_file_get_contents('php://input');    $audioname = 'Test.m4a';    if (file_put_contents($audioname,$data)) {echo "File Saved";} else {echo "File not Saved ";}     if (filesize($audioname) != 0) {echo " Recording Saved.";} else {echo " File size zero.";}          ?>我在 Android Studio 控制臺中遇到的錯誤是; response.body File not Saved  File size zero.Test.M4a 文件出現在我的服務器上,但內容為空,字節為零。但我的服務器上的 PHP 錯誤日志中沒有顯示任何錯誤。我猜測發送方式和接收方式之間存在不兼容,但我是初學者,不確定它在哪里。知道我能做什么嗎?
查看完整描述

1 回答

?
當年話下

TA貢獻1890條經驗 獲得超9個贊

看來 PEAR 包是浪費時間。該函數已經存在于 PHP 中,因此;


<?php 


header("Content-Type: audio/mp4"); 


    if (isset($_FILES["audio"]) && $_FILES["audio"]["error"] == 0) {

    $uploaddir = '/mynewdirectory/';

    $uploadfile = $uploaddir . basename($_FILES['audio']['name']);   

    if (move_uploaded_file($_FILES['audio']['tmp_name'], $uploadfile)) {

      echo "File is valid, and was successfully uploaded.\n";

    } else {echo "Upload failed";}          

    } 


?>


查看完整回答
反對 回復 2023-08-11
  • 1 回答
  • 0 關注
  • 162 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號