Ok the way to upload changes with out a form.
First understand that in the form way the image is uploaded into server
memory, from your desktop, then you read the data from the server memory
and put it into a file. This is a function of the webbrowser not ofbiz.
The problem is that a server can not read from you local drive. You can
only do this thru a web browser.

so you must either put the images on the server, thru FTP then reference
them that way in your excel.
or put the images on a machine that is exposed to the internet with a
web server and give a http:// type url to be uploaded, in your excel.


nalin chandra sent the following on 5/10/2009 7:24 AM:
> Thanks for reply.
> 
> But that is not my problem.
> Once again i clear my problem.
> I want to upload all the information about product category etc from the
> excel sheet where we write all the required information about product and
> category. In that excel sheet i also mentioned the local system path of
> image. Now i want to upload the image from local system to remote server
> using path of that. Now i read the local system file path from excel sheet
> as shown in bold.
> 
> I know we need a form to upload the file 
> <form method="post" action="uploadCategory" enctype="multipart/form-data">
>   file: <input type="file" name="file-upload">
>   <input type="submit">
> </form> .
> 
> but i my case there is no form. i got the file path in my method now i want
> to upload the that file from local system to remote server.
> 
> I think now you under stand my problem.
> with the use of this we have no need to upload the product detail one by one
> to the server.
> 
> waiting for your reply.
> 
> Thanks
> 
> Nalin Chandra
> 
> 
> 
> 
>> public static String uploadCategory(HttpServletRequest request,
>> HttpServletResponse response) {
>>    
>>     try
>>         {
>>      String filename = "D:/category.xls";
>>           WorkbookSettings ws = new WorkbookSettings();
>>           ws.setLocale(new Locale("en", "EN"));
>>           Workbook workbook = Workbook.getWorkbook(new File(filename),ws);
>>           Sheet s  = workbook.getSheet(0);
>>           readCategoryDataSheet(s, request);
>>           workbook.close();      
>>         }
>>         catch (IOException e)
>>         {
>>           e.printStackTrace();
>>         }
>>         catch (BiffException e)
>>         {
>>           e.printStackTrace();
>>         }
>>    
>>         return "success";
>>     }
>>    
>>     private static void readCategoryDataSheet(Sheet s, HttpServletRequest
>> request)
>>     {
>>       Cell rowData[] = null;
>>       int successCount = 0;
>>       int failCount = 0;
>>       int rows = s.getRows();
>>       int column = s.getColumns();
>>       String productCategoryId = "";
>>           String productCategoryTypeId = "";
>>       String primaryParentCategoryId = "";
>>       String categoryName = "";
>>       String description = "";
>>           String longDescription = "";
>>       String categoryImageUrl = "";
>>       String linkOneImageUrl = "";
>>       String prodCatalogId = "";
>>           String prodCatalogCategoryTypeId = "";
>>       String sequenceNum = "";
>>
>>       for (int i = 1; i < rows; i++) {
>>      rowData = s.getRow(i);
>>                         if (rowData[0].getContents().length() != 0) {
>>                                 for (int j = 0; j < column; j++) {
>>                                         switch (j) {
>>                                         case 0:
>>                                                 productCategoryId =
>> rowData[j].getContents();
>>                                         case 1:
>>                                                 productCategoryTypeId =
>> rowData[j].getContents();
>>                                         case 2:
>>                                                 primaryParentCategoryId =
>> rowData[j].getContents();
>>                                         case 3:
>>                                                 categoryName =
>> rowData[j].getContents();
>>                                         case 4:
>>                                                 description =
>> rowData[j].getContents();
>>                                         case 5:
>>                                                 longDescription =
>> rowData[j].getContents();
>>                                         case 6:
>>                                                 categoryImageUrl =
>> rowData[j].getContents();
>>                                         case 7:
>>                                                 linkOneImageUrl =
>> rowData[j].getContents();
>>                                         default:
>>                                                 break;
>>                                         }
>>                                 }
>>                         }
>>                         String imageFilenameFormat =
>> UtilProperties.getPropertyValue("catalog", "image.filename.format");
>>                         String imageServerPath =
>> UtilProperties.getPropertyValue("catalog", "image.server.path");
>>                         String imageUrlPrefix =
>> UtilProperties.getPropertyValue("catalog", "image.url.prefix");
>>                        
>>                                                
>>                         // upload image
>>                         FlexibleStringExpander filenameExpander = new
>> FlexibleStringExpander(imageFilenameFormat);
>>                         String catImageUrl = "";
>>                         String linkImageUrl = "";
>>                         if(categoryImageUrl != null &&
>> categoryImageUrl.length() > 0){
>>                                 Object forLock = new Object();
>>                                 String contentType = null;
>>                                 String categoryImageLocation =
>> filenameExpander.expandString(UtilMisc.toMap("location", "categories",
>> "type", "category", "id", productCategoryId));
>>                             String filePathPrefix = "";
>>                             String filenameToUse = categoryImageLocation;
>>                             if (categoryImageLocation.lastIndexOf("/") !=
>> -1) {
>>                                 filePathPrefix =
>> categoryImageLocation.substring(0, categoryImageLocation.lastIndexOf("/")
>> +
>> 1); // adding 1 to include the trailing slash
>>                                 filenameToUse =
>> categoryImageLocation.substring(categoryImageLocation.lastIndexOf("/") +
>> 1);
>>                             }
>>                            
>>                             int i1;
>>                             if (contentType != null && (i1 =
>> contentType.indexOf("boundary=")) != -1) {
>>                                 contentType = contentType.substring(i1 +
>> 9);
>>                                 contentType = "--" + contentType;
>>                             }
>>                            
>>                             String defaultFileName = filenameToUse +
>> "_temp";
>>                             HttpRequestFileUpload uploadObject = new
>> HttpRequestFileUpload();
>>                            
>> uploadObject.setOverrideFilename(defaultFileName);
>>                             uploadObject.setSavePath(imageServerPath + "/"
>> +
>> filePathPrefix);
>>                             try{
>>                             uploadObject.doUpload(request);
>>                            
>>                             }catch(IOException e){
>>                             Debug.logInfo("Image uploading failure",
>> module);
>>                             }
>>                             String categoryImageFileName =
>> uploadObject.getFilename();
>>                            
>>                             if (categoryImageFileName != null &&
>> categoryImageFileName.length() > 0) {
>>                                 if (categoryImageFileName.lastIndexOf(".")
>> 0 && categoryImageFileName.lastIndexOf(".") <
>> categoryImageFileName.length()) {
>>                                     filenameToUse +=
>> categoryImageFileName.substring(categoryImageFileName.lastIndexOf("."));
>>                                 } else {
>>                                     filenameToUse += ".jpg";
>>                                 }
>>                                 try{
>>                                 String characterEncoding =
>> request.getCharacterEncoding();
>>                                 catImageUrl = imageUrlPrefix + "/" +
>> filePathPrefix + java.net.URLEncoder.encode(filenameToUse,
>> characterEncoding);
>>                                 }catch(Exception e){
>>                                 System.out.println("Incoding Problem");
>>                                 }
>>                                
>>                                 try {
>>                                     File file = new File(imageServerPath +
>> "/" + filePathPrefix, defaultFileName);
>>                                     File file1 = new File(imageServerPath
>> +
>> "/" + filePathPrefix, filenameToUse);
>>                                     try {
>>                                         file1.delete();
>>                                     } catch(Exception e) {
>>                                         System.out.println("error deleting
>> existing file (not neccessarily a problem)");
>>                                     }
>>                                     file.renameTo(file1);
>>                                 } catch(Exception e) {
>>                                     e.printStackTrace();
>>                                 }
>>                             }
>>                         }
>>                        
>>                         // end of upload image
>>                    
>>               Timestamp fromDate = UtilDateTime.nowTimestamp();
>>               GenericDelegator delegator = (GenericDelegator)
>> request.getAttribute("delegator");
>>               try {
>>              GenericValue DataImportCategoryList =
>> delegator.findByPrimaryKey("DataImportCategory",
>> UtilMisc.toMap("productCategoryId", productCategoryId));
>>                      
>>                       if(DataImportCategoryList != null){
>>                       String categoryId =
>> DataImportCategoryList.getString("productCategoryId");
>>                       if(categoryId.equals(productCategoryId)){
>>                       failCount++;
>>                       }
>>                       }else {
>>             GenericValue newImportCategory =
>> delegator.makeValue("DataImportCategory", null);
>>            
>>         newImportCategory.set("productCategoryId",
>> productCategoryId.trim());
>>         if(productCategoryTypeId != null && productCategoryTypeId.length()
>> 0){
>>         newImportCategory.set("productCategoryTypeId",
>> productCategoryTypeId.trim());
>>                                     } else {
>>                                    
>> newImportCategory.set("productCategoryTypeId", "CATALOG_CATEGORY");
>>                                     }
>>         if(primaryParentCategoryId != null &&
>> primaryParentCategoryId.length() > 0)
>>         newImportCategory.set("primaryParentCategoryId",
>> primaryParentCategoryId);
>>         newImportCategory.set("categoryName", categoryName.trim());
>>         newImportCategory.set("description", description);
>>         newImportCategory.set("longDescription", longDescription);
>>         newImportCategory.set("categoryImageUrl", catImageUrl);
>>         newImportCategory.set("linkOneImageUrl", linkImageUrl);
>>                                     newImportCategory.set("fromDate",
>> fromDate);
>>                                       try {
>>                                          
>> delegator.create(newImportCategory);
>>                                           Debug.logInfo("Successfully
>> imported category ["+productCategoryId+" from row no "+ i+1 +"].",
>> module);
>>                                           successCount++;
>>                                       } catch (GenericEntityException e) {
>>                                           Debug.logWarning(e.getMessage(),
>> module);
>>                                       }
>>            
>>               }
>>               } catch(GenericEntityException e) {
>>       Debug.logError("Exception occured :"+e.getMessage(), module);
>>        }
>>       }
>>      
>>     }
>>
>>
>> it create the temp file in corresponding directory but there is no actual
>> image at that path.
>>
>> So any one have any idea regarding this please suggest me.
>>
>>
>> Thanks.
>>
>> Nalin Chandra
> 
> 

-- 
BJ Freeman
http://www.businessesnetwork.com/automation
http://bjfreeman.elance.com
http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro
Systems Integrator.

Reply via email to