2013-09-05 27 views
6

Üç boyutlu bir 3D uygulama geliştirdim ve ThreeJS ve WebGL kullanarak. Modelleri üçJS uyumlu .json dosyalarına dönüştürmemek için bir ithalatçı oluşturmaya başladım. İşe yarıyor ama aynı zamanda, ne tür bir modelin hem dosya uzantısı hem de MIME tipi kullanılarak yüklendiğine karar verdim.MIME Wavefront'un OBJ ve MTL Türü

MIME Türünün, model ağacından beri tuhaf bir tür olan, ancak her halükarda, birolması gerektiğini bir yerde okudum. Bu dosya türü için IANA web sitesine göz atmak hiç sonuç vermez.

Bir şey mi eksik?

+1

Hızlı gezinme ile bulabildiğim tek referans, "text/plain" yazan [Wikipedia] (http://en.wikipedia.org/wiki/Wavefront_.obj_file) 'dir. – tripleee

+0

@tripleee İhtiyacım için çok belirsiz, ama en az bir onay belli bir şeyi kaçırmıyorum ... Sanırım sözde MIME'ye sadık kalacağım. Yine de teşekkürler. – Kiruse

cevap

5

According to wikipedia, "text/plain" için .obj için. Bunu tahmin ediyorum

içlerinde metin var çünkü .mtl dosyalar için " düz text /" de ve o "ASCII dosyaları için Wavefront Technologies tarafından tanımlanan bir standarttır" beri.

+0

ASCII dosyaları için bir standart olduğunu biliyorum, ama sadece ... belirsiz görünüyor. Oluşturduğum (otomatik) sistem, kaynaklardan MIME türü olan farklı faktörlere göre nasıl ayrılacağına karar verir. ASCII olduğu için güvenebileceğim sihirli bir sayı yok. Ek olarak, JavaScript'te dosya işleme ilk etapta bu kadar kullanışlı değildir ... Buna biraz daha zaman vereceğim, buna daha fazla dikkat çekmeye çalıştığınız için teşekkürler. Ödül sona erdiğinde, bu yanıtı cevap olarak işaretlerim. – Kiruse

+0

Elbette. Ajax üzerinden getirilen sunucu gzip .obj dosyalarını (zaman ve bant genişliğinden tasarruf etmek) yaparak kendime girdim. Nginx yapılandırmasında belirtmek için MIME tipi bilmeniz gerekir. – kangax

+0

Ve tabii ki 'text/plain' da benim durumum gibi yeterli değil. Aslında benden başka bir şey olmadığını düşünmeme rağmen, belki birinin başka bir çözümü var. Benim durumum sadece sahte bir MIME kullanarak tatmin oldu, ama ben nginx hakkında emin değilim. – Kiruse

0

En az 20 yıl boyunca internette dolaştığını düşünerek, wavefront obj dosyaları için IANA database'daki hiçbir şeyi görmediğimde şaşırdım. Resmi bir MIME türü oluştururken başkalarıyla işbirliği yapmaktan memnuniyet duyarım.

O zamana kadar, RFC 6838, "Kişisel veya Vanity Ağacı" bölümünde 3.3 göre sen text/plain ek olarak text/prs.wavefront-obj gibi bunun için bir şeyler Kendi medya türü kullanabilirsiniz. Bu şekilde yanıtınızda uygun MIME türünü belirlemek için HTTP Accept başlığını kullanabilirsiniz.

+0

Genel olarak bu konuda bir şey bulmak zordu şaşırdım. Sanırım .obj biraz modası geçmiş, ancak basitliği kesinlikle bir yerde uygulamayı bulur. – Kiruse

+0

Ben, tamamen modası geçmiş olduğunu sanmıyorum. Birçok uygulama arasındaki geometri için çok kullanışlı bir "ortak zemin" formatıdır. – legalize

+0

Evet gerçekten. Bu yüzden özellikle biraz modası geçmiştim. Düşünmediğim tek özellik, dinamik ve fizik. Sadece statik modeller için tasarlanmıştır, bu nedenle animasyonlar için değeri açıkça düşüktür. Bu bakımdan doğal olarak farklı bir formatı destekliyoruz. Fizik yönü, önceki ile el ele gider. – Kiruse

1

Sen web.config güncelleyip .obj dosyaları için obj dosya türü

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 
    <system.webServer> 
     <staticContent>   
      <remove fileExtension=".obj" /> 
      <mimeMap fileExtension=".obj" mimeType="text/plain" /> 
     </staticContent> 
    </system.webServer> 
</configuration> 
0

Kullanım MIME türü "application/nesne" başvuru eklemek gerekir. Chrome, Safari ve FireFox'ta çalışır.