You need to sign in to do that
Don't have an account?
桃子 植田
VisualforceとApexコントローラで、stlファイルをアップロードする方法
お世話になっております。
Apexで、".stl"という拡張子の3Dデータファイルが扱えるかの質問です。
現在Visualforceページからメモ&添付ファイルに、stlファイルをアップロードしようとしております。
しかし、<apex:inputFile>タグでstlファイルを選択はできるのですが、
アップロードしようとするとApex側で値がnullになってしまいます。
Excelやpngファイル等は正常にアップロードできます。
また、メモ&添付ファイルに直接手動でstlファイルをアップロードすることはできます。
Apexではstlファイルが扱えないということなのでしょうか?
また、Apexでsrlファイルを扱えないとしたら、
Visualforceからstlファイルをアップロードすることは不可能でしょうか?
ご存じの方いらっしゃいましたら、お知恵をお貸しいただけたら幸いです。
Apexで、".stl"という拡張子の3Dデータファイルが扱えるかの質問です。
現在Visualforceページからメモ&添付ファイルに、stlファイルをアップロードしようとしております。
しかし、<apex:inputFile>タグでstlファイルを選択はできるのですが、
アップロードしようとするとApex側で値がnullになってしまいます。
Excelやpngファイル等は正常にアップロードできます。
また、メモ&添付ファイルに直接手動でstlファイルをアップロードすることはできます。
Apexではstlファイルが扱えないということなのでしょうか?
また、Apexでsrlファイルを扱えないとしたら、
Visualforceからstlファイルをアップロードすることは不可能でしょうか?
ご存じの方いらっしゃいましたら、お知恵をお貸しいただけたら幸いです。
ご記載頂いた下記の状況であればapex:inputFileの使い方が間違っているわけではなさそうです。
・Excelやpngファイル等は正常にアップロードできます。
・メモ&添付ファイルに直接手動でstlファイルをアップロードすることはできます
JavaScriptをつかってファイルアップロードを行う方法はいかがでしょうか。こちらで実現可能かは不明ですがもしかするとうまくいくかもしれません。開発は大変になるのですが、以前検証してみたときの内容をまとめたものがありますので共有致します。
http://tyoshikawa1106.hatenablog.com/entry/2016/02/09/015328
※ソースコードありましたのでDE組織などにアップして試して頂くのが良いかもしれません。
※基本的にそのまま本番環境でも動く作りにしているつもりですがあくまでサンプルコードになりますのでよろしくお願いいたします。
ご回答ありがとうございます。
やはり<apex:inputFile>タグでは厳しそうなのですね。
JavaScript使用のアドバイスありがとうございます。
参考にさせていただきます。
実は本来の目的といたしまして、
Sitesを使ったVisualforceページから、Salesforce上のDropboxにstlファイルをアップロードしようとしております。
前段階としてまず、Apexでstlファイルを「メモ&添付ファイル」にアップロードできるかを試しておりました。
後出しの質問で申し訳ないのですが、
JavaScriptでSalesforce上のDropboxにアップロードできるでしょうか?
Sites ということですので外部の方が利用されるページだと思います。また3Dデータファイルということですので、不特定な利用者ではなくパートナー的な感じのユーザーの利用ではないでしょうか。
もしそうでしたらパートナーコミュニティの仕組みが活用できるかも知れません。パートナーコミュニティは外部の人がログインして一部情報にアクセスできる仕組みなのですが、標準のファイルアップロードの仕組みを利用することが可能です。
ご回答ありがとうございます。
>Salesforce と連携しているDropboxということでしょうか。
はい、その通りです。
DropboxAPIでの開発は検討しておりましたが、Taiki Yoshikawa様からしてもそんなに高いハードルなんですね…。
覚悟しておきます。
>不特定な利用者ではなくパートナー的な感じのユーザーの利用ではないでしょうか。
おっしゃられる通り、パートナーユーザの利用を目的としております。
しかし調査したところ、SalesforceコミュニティではどうやらDropboxのサポートがないようです。
昨日調査をしていてわかったことですが、
Salesforceのメールサービスを利用して、Salesforce組織宛てにメールを送信すれば、
メールに添付したstlファイルをApexで指定した「メモ&添付ファイル」に格納することができました。
そこで、Visualforceでメール送信フォームを作成し、
DropboxAPIを組み合わせることで目的の実現が可能かを現在調査しております。
ご多忙と思われる中、いつも丁寧なご返信感謝しております。
Taiki Yoshikawa様、ありがとうございました。
コミュニティではDropboxのサポートが無いのですね。。
こちらも利用可能かわからないのですが、AppExchangeという手段もあるかもしません。
https://appexchangejp.salesforce.com/appxListingDetail?listingId=a0N30000000pvx6EAA
リンクは一つの例で、最終更新が2015年でもう動かなくなっている可能性も高いのですが、こうした製品を利用することで開発せずに実現できるかもしれません。