質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

715閲覧

GASのアップロードフォームでPDFが真っ白になる

kokoyon2021

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

1クリップ

投稿2021/11/24 05:43

前提・実現したいこと

GAS(Google)で、アップロードフォームを作成したのですが、
アップロードしたPDFが真っ白になってしまう。
アップロードしたPDFへは文字データは入っている。
この場合は、GASのコードを修正すればよいでしょうか?

ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

エラーメッセージ

該当のソースコード

ソースコード

コードgs
function doGet() {
return HtmlService.createHtmlOutputFromFile('index');
}

function processForm(formObject) {
return DriveApp.getFolderById("1c7p0mifR4S_pyDvY5_4oUpDoWRaX0sW8").createFile(formObject.myFile).getUrl();

/var folder_id = "1c7p0mifR4S_pyDvY5_4oUpDoWRaX0sW8";
var folder = DriveApp.getFolderById(folder_id);
var file = formObject.myFile;
var drive_file = folder.createFile(file);
var file_url = drive_file.getUrl();
return file_url;
/
}

index.html

<!DOCTYPE html> <html> <head> <base target="_top"> <script>
function preventFormSubmit() { var forms = document.querySelectorAll('form'); for (var i = 0; i < forms.length; i++) { forms[i].addEventListener('submit', function(event) { event.preventDefault(); }); } } window.addEventListener('load', preventFormSubmit); /*最初はアップロードボタンを押せないようにしておく*/ document.addEventListener("DOMContentLoaded", function () { document.getElementById("upload").disabled = true; }, false); /*制限サイズ以内のファイルが選択されたらアップロードボタンを押せるようにする*/ function changeSubmitButton() { const len=document.getElementById("file").files.length; const size=document.getElementById("file").files[0].size; const maxSize=1024 * 1024 * 10;//10MB const uploadButton=document.getElementById("upload"); if (len > 0 && size < maxSize) { uploadButton.disabled = false; /*画像以外のファイルがアップロードされたらエラーをだす*/ var Filename = document.getElementById("file").files[0].name; var type = Filename.split('.'); var reString = /jpg|jpeg|png|gif|pdf/i; if(!type[1].match(reString)){ var div = document.getElementById('progress'); div.innerHTML='アップロードできるファイルはPDFか画像のみです(jpg/png/gif/pdf)'; uploadButton.disabled = true; }else{ var div = document.getElementById('progress'); div.innerHTML='このファイルはアップロードできます。「登録」ボタンを押してアップロードしてください。'; uploadButton.disabled = false; } } else{ uploadButton.disabled = true; var div = document.getElementById('progress'); div.innerHTML='アップロードできるサイズは10MB以下です'; } } // Prevent forms from submitting. function preventFormSubmit() { var forms = document.querySelectorAll('form'); for (var i = 0; i < forms.length; i++) { forms[i].addEventListener('submit', function(event) { event.preventDefault(); }); } } window.addEventListener('load', preventFormSubmit); function handleFormSubmit(formObject) { document.getElementById("upload").disabled = true; var div = document.getElementById('progress'); div.innerHTML='アップロード中...'; //アップロード成功した場合はupdateUrl()実行 google.script.run.withSuccessHandler(updateUrl).processForm(formObject); mytext = formObject.myText; } function updateUrl(url) { var div = document.getElementById('output'); div.innerHTML = '<br>アップロードに成功しました<br><br><br>資料URL: <input type="text" id="copyTarget" value="' + url + '" size="80" readonly>&nbsp;&nbsp;<button onclick="copyToClipboard()">コピーする</button><br><br><br><b>●上記「資料URL」をコピーし、「注文ページ作成」ページの「販売内容URL」に貼り付けてください。</b><br><br><br><img src="https://sales.××××××××××××××××××××××××.net/support/wp-content/uploads/screenshot-osl-dev-mo.os7_.biz-2021.11.11-12_03_26.png" width="700px"/> '; var div = document.getElementById('progress'); div.innerHTML=''; } </script>
</head> <body> <img src="https://www.orange-cloud7.net/LOGO_A3.jpg" width="300px" /> <h1>××××××××××××××××××××<br>『×××××××××××××××』<br>販売資料アップロードフォーム</h1> <p>販売資料を以下よりアップロードしてください。(10MB以下/PDFもしくは画像のみ)</p> <form id="myForm" onsubmit="handleFormSubmit(this)" onchange="changeSubmitButton()"> <input id="file" name="myFile" type="file" /> <input id="upload" type="submit" value="登録" /> </form> <div id="progress"></div> <div id="output"></div> × <!-- クリップボードにコピーする --> <script> function copyToClipboard() { // コピー対象をJavaScript上で変数として定義する var copyTarget = document.getElementById("copyTarget"); // コピー対象のテキストを選択する copyTarget.select(); // 選択しているテキストをクリップボードにコピーする document.execCommand("Copy"); // コピーをお知らせする //alert("コピーできました! : " + copyTarget.value); } </script> </body> </html>

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問