Solved

Problem using CFHTTP to post a .docx file

Posted on 2008-10-17
6
530 Views
Last Modified: 2013-12-24
I have an application that uses a resume parsing service.  If I upload the file with a standard form, the service is able to parse the file just fine.  If I POST the file with a CFHTTP tag, the service errors out.

Is there anything further I need to do with my CFHTTP or CFHTTPPARAM tags to further mimic a "standard" form POSTing?

<html>

<head>

	<title>HTTP Post Test</title>

</head>

<body>

<h1>HTTP Post Test</h1>

 

<CFSET variables.str_url = "XxXxXxXxX">

<CFSET variables.str_did = "XxXxXxXxX">

<CFSET variables.str_pid = "XxXxXxXxX">

<CFSET variables.str_cid = "XxXxXxXxX">

<CFSET variables.str_file = "XxXxXxXxX/test5.docx">

 

<!---  This does NOT work  --->

<CFHTTP url="#variables.str_url#" method="post" redirect="yes" useragent="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)">

	<CFHTTPPARAM type="formfield" name="did" value="#variables.str_did#">

	<CFHTTPPARAM type="formfield" name="pid" value="#variables.str_pid#">

	<CFHTTPPARAM type="formfield" name="cid" value="#variables.str_cid#">

	<CFHTTPPARAM type="file" name="document" mimetype="multipart/form-data" file="#variables.str_file#">

</CFHTTP>

 

<CFOUTPUT>

<CFIF StructKeyExists(cfhttp,"filecontent")>

	#cfhttp.filecontent#

</CFIF>

 

<!---  This DOES work  --->

<form action="#variables.str_url#" method="POST" name="frmupload" enctype="multipart/form-data">

	<input type="hidden" name="did" value="#variables.str_did#">

	<input type="hidden" name="pid" value="#variables.str_pid#">

	<input type="hidden" name="cid" value="#variables.str_cid#">

	<input type="file" name="document">

	<input type="submit" name="submit_upload" value="upload">

</form>

</CFOUTPUT>

</body>

</html>

Open in new window

0
Comment
Question by:aseusainc
  • 3
  • 2
6 Comments
 
LVL 24

Expert Comment

by:dgrafx
ID: 22784932
1) method needs to be "PUT"
2) Your mime type (for type=file) needs to be the mimetype of the file you are "PUTTING"
multipart/form-data is Not a mimetype
docx is "application/vnd.openxmlformats-officedocument.wordprocessingml.document"

good luck ...
0
 
LVL 7

Author Comment

by:aseusainc
ID: 22786212
Ended up using another method completely.  Resume parsing service has a SOAP web service that I was able to invoke.
0
 
LVL 24

Expert Comment

by:dgrafx
ID: 22786327
sure ok great ...
but getting back to the question you asked - what I posted is correct.
You can use it for the future when you don't have a prefab web service to rely on.

good luck ...
0
 
LVL 7

Author Comment

by:aseusainc
ID: 22786481
I still intend to go back and test that real quick.  Will post my findings soon.
0
 
LVL 7

Accepted Solution

by:
aseusainc earned 0 total points
ID: 23016950
Changing the MIME type and PUT didn't change anything.  Anyway, switched to the webservice method.

Requesting close.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

A web service (http://en.wikipedia.org/wiki/Web_service) is a software related technology that facilitates machine-to-machine interaction over a network. This article helps beginners in creating and consuming a web service using the ColdFusion Ma…
When it comes to showing a 404 error page to your visitors, you do not want that generic page to show, and you especially do not want your hosting provider’s ad error page to show either. In this article, I will show you how to enable the custom 40…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now