1

Heroku にアプリをアップロードしましたが、ファイルをアップロードできないことがわかりました。その後、Dropbox をストレージ オプションとして使用し始め、リンクの送信と取得のいくつかのテストを行ったところ、すべて正常に機能しました。

さて、問題は DropboxAdapter で uploadFile() メソッドを使用することです。彼はリソースをファイルとして受け入れますが、うまくいきませんでした。私はいくつかのテストを行いましたが、まだ方法がありません。これが私がやっていることです。もし誰かがこの問題の解決策や方向性を教えてくれたらお願いします。:)

これが更新ユーザーの実際のコードです(ユーザー画像を更新し、ファイルへのリンクを取得します)。

        $input = $_FILES['picture'];
        $inputName = $input['name'];
        $image = imagecreatefromstring(file_get_contents($_FILES['picture']['tmp_name']));

        Storage::disk('dropbox')->putStream('/avatars/' . $inputName, $image);

        // $data = Storage::disk('dropbox')->getLink('/avatars/' . $inputName);


        return dd($image);

ディスク上のファイルに fopen() を使用して同じプロセスを実行したいくつかのテストでは、次のことに気付きました。

これは、パブリック フォルダーに保存されているファイルに対して fopen() を使用した場合です。

http://i.imgur.com/07ZiZD5.png

そして、これは、作成しようとした $image を die(var_dump()) したときです。(これは、この 2 つのリンクからの提案です: PHP 一時ファイルのアップロードが無効な画像リソースであり、スクリプト内での Dropbox のアップロードです。

http://i.imgur.com/pSv6l1k.png

何か案が?

4

1 に答える 1

1

アップロードされたファイルで単純な fopen を試してください。

$image = fopen($_FILES['picture']['tmp_name']);

画像ストリームは必要ありませんが、fopen が提供するファイルストリームだけが必要です。

于 2015-03-09T09:55:36.137 に答える