從服務器下載文件DOWNLOAD_WEB_OBJECT

这段代码主要用于从服务器下载Excel模板并导出数据到新的Excel文件。首先,通过指定的键和目的地下载Web对象。然后,根据给定的文件路径下载Excel数据,并在下载过程中填充表头和明细数据。
摘要由CSDN通过智能技术生成

 *&--------------------------begin--------------------------------------*
FORM DOWNLOAD_EXCEL_TEMPLATE USING FP_OBJID LIKE wwwdatatab-objid
                                   FP_DEST  LIKE sapb-sappfad
                                   FP_DOWN.

   DATA: L_PARA like WWWDATATAB.
   DATA: ls_destination LIKE rlgrap-filename,
         li_rc LIKE sy-subrc.

   FP_DOWN = 'N'.
   SELECT SINGLE WWWDATA~RELID WWWDATA~OBJID
   INTO CORRESPONDING FIELDS OF L_PARA
   FROM WWWDATA
   WHERE WWWDATA~RELID = 'MI'      AND
         WWWDATA~OBJID = FP_OBJID  AND
         WWWDATA~SRTF2 = 0.
   if sy-subrc <> 0.
     MESSAGE TEXT-E12 TYPE 'S' DISPLAY LIKE 'E'.     "The excel template  no existed !
     RETURN.
   endif.
   ls_destination = FP_DEST.
   CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    EXPORTING
      key         = L_PARA
      destination = ls_destination
    IMPORTING
      rc          = li_rc.
   if li_rc NE 0.
       MESSAGE TEXT-E13 TYPE 'S' DISPLAY LIKE 'E'.     "The excel template download unsuccessfully !
       RETURN.
   endif.
   FP_DOWN = 'Y'.
ENDFORM.    "--DOWNLOAD_EXCEL_TEMPLATE

 

 

 FORM DOWNLOAD_EXCEL_DATA USING FP_DOWN_FILE  LIKE sapb-sappfad.
  data: l_down_save LIKE rlgrap-filename.
  DATA: l_qty like vbap-kwmeng.  "pri_pack-cqty.
  data: l_date_file type c length 25.
  data: l_name      type c length 200,
        l_shipaddr  type c length 200,
        l_address   type c length 200,
        l_lifnr     type c length 50,
        l_charg     type c length 11,
        l_mdesc     type c length 200,  "material desc(EN&ZH)
        l_ntgew     type p decimals

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Quarkus 中,可以使用 REST API 来实现文件下载和压缩。以下是一个简单的例子: 1. 创建一个 REST 资源类来处理文件下载和压缩: ``` @Path("/download") public class FileResource { @GET @Path("/image/{fileName}") @Produces(MediaType.APPLICATION_OCTET_STREAM) public Response downloadImage(@PathParam("fileName") String fileName) { // 从服务器获取要下载的图片 File file = new File("/path/to/images/" + fileName); ResponseBuilder response = Response.ok((Object) file); response.header("Content-Disposition", "attachment; filename=" + fileName); return response.build(); } @GET @Path("/zip") @Produces("application/zip") public Response downloadZip() { // 创建要下载的 ZIP 文件 File zipFile = createZipFile(); ResponseBuilder response = Response.ok((Object) zipFile); response.header("Content-Disposition", "attachment; filename=images.zip"); return response.build(); } private File createZipFile() { // 将多个文件打包成 ZIP 文件 // ... } } ``` 2. 在 Quarkus 应用程序中注册资源类: ``` @ApplicationScoped public class MyApplication extends Application { @Override public Set<Class<?>> getClasses() { Set<Class<?>> classes = new HashSet<>(); classes.add(FileResource.class); return classes; } } ``` 3. 在 Web 界面中使用 AJAX 请求来下载和解压缩 ZIP 文件: ``` $.ajax({ url: '/download/zip', type: 'GET', success: function(data) { // 将 ZIP 文件解压缩并显示其中的图片 JSZip.loadAsync(data).then(function(zip) { zip.forEach(function (relativePath, file) { if (!file.dir) { var img = document.createElement('img'); img.src = URL.createObjectURL(file._data.compressedContent); document.body.appendChild(img); } }); }); } }); ``` 这样,当用户在 Web 界面中点击下载按钮时,将会触发 AJAX 请求来下载 ZIP 文件,并将其中的图片解压缩并显示在页面上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值