2017-06-17 41 views
1

私はHerokuとそのS3アドオン「Bucketeer」を使用しています。Heroku/Bucketeerのアップロード制限(S3)

私はこの作業をしており、画像は問題なくアップロードできます。私は画像をアップロードすることは気にしません。私のアプリはMP3のアップロードを扱っています(何も悪いことはありません - ローカルバンドのウェブアプリです)。

MP3をアップロードできません。それはエラーでも何も起こりません。S3でファイルが終わるのではなく、画像はまったく同じ方法でアップロードされます。

追加する編集 - 私は非常に小さなmp3ファイルをアップロードしてテストしたので、これはうまくいったファイルタイプの問題ではありません。

コード以下:

 <form class="form" action="../model/process-track-upload.php" method="post" enctype="multipart/form-data"> 
       <div class="row"> 
       <div class="col-xs-12 col-sm-4"> 
        <div class="dashboard-widget"> 
         <h3>Add a song to your collection</h3> 
         <input class="input" type="text" name="trackname" placeholder="Track Name" required/> 
         <input class="input-margin" name="userfile" type="file"> 
         <input type="hidden" name="userID" value="<?php echo $userID ?>" /> 
         <button class="btn btn-large btn-block " type="submit" name="btn-upload">upload</button> 
        </div> 
       </div> 
       </form> 

そして、バックエンドのコード:この質問へ

require('../vendor/autoload.php'); 

$s3 = Aws\S3\S3Client::factory(); 
$bucket = getenv('S3_BUCKET')?: die('No "S3_BUCKET" config var in found in env!'); 

if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_FILES['userfile']) && $_FILES['userfile']['error'] == UPLOAD_ERR_OK && is_uploaded_file($_FILES['userfile']['tmp_name'])) { 

    try { 

     $upload = $s3->upload($bucket, $_FILES['userfile']['name'], fopen($_FILES['userfile']['tmp_name'], 'rb'), 'public-read'); 
?> 
     <p>Upload <a href="<?=htmlspecialchars($upload->get('ObjectURL'))?>">successful</a> :)</p> 
<?php } catch(Exception $e) { ?> 
     <p>Upload error :(</p> 
<?php } } 

答えて

0

答えはデフォルトのPHPの設定で横たわっていました。

私はHerokuを使用していましたが、私はphp.iniファイルにアクセスできませんでした。

答えは、php.iniのユーザー作成オーバーライドのような.users.iniファイルを作成することでした。

は、私はちょうど次のparamsを設定し、そのファイルには:この後

upload_max_filesize = 15M 
post_max_size = 15M 
max_input_time = 0 
LimitRequestBody 0 

私は行くことに良かったです!

関連する問題